Dobrý den.
Mám regulární výraz
^PACKAGE NAME:[ ]{1,}(.*{1,})\\-(.*[\\-].*[\\-].*)(\\.[ti]+[gblzkx]+)[ ]{0,}$ /*linux*/
a ^ změna
^PACKAGE NAME:[ ]{1,}(.{1,})\\-(.*[\\-].*[\\-].*)(\\.[ti]+[gblzkx]+)[ ]{0,}$ /*cygwin*/
a ještě jeden
([a-zA-Z0-9]{1,})[ ]{1,}([a-zA-Z0-9\\/._+\\-]{1,})\\/(.*{1,})\\-(.*[\\-].*[\\-].*)\\.[ti]+[gblzkx]+$ /*linux*/
a ^ změna ^ změna
([a-zA-Z0-9]{1,})[ ]{1,}([a-zA-Z0-9\\\/._+\\-]{1,})\\\/(.{1,})\\-(.*[\\-].*[\\-].*)\\.[ti]+[gblzkx]+$ /*cygwin*/
Kde je označeno linux tak funguje jenom v linuxu a v cygwinu ne a kde je označeno cygwin tak funguje v cygwinu v linuxu nevím (nezajímá mně).
Rád bych věděl jestli oba výrazy fungují úplně stejně, i když jsou trochu jiné.
Výraz označený jako linux v cygwinu vyhodí u funkce regcomp chybu repetition-operator operand invalid a návratový kód 13 tedy REG_BADRPT '?', '*', or '+' not preceded by valid regular expression. V linuxu je to OK.
Po drobné úpravě to chodí i v cygwinu, ale nevím jestli to dělá přesně to stejné. Může mi to prosím někdo potvrdit nebo vyvrátit?