[Megoldva] regexp / elso elofordulasra kereses

Fórumok

Hi,

A "*** ERROR C202 IN LINE 33 OF HELLO.C: 'R1': undefined identifier" sorbol szeretnem, ha a \1 "C202", a \2 "33", a \3 "HELLO.C" a \4 pedig a maradek lenne. Azt hittem, a kovetkezo regexp ezt csinalja:
^\*{3} ERROR (.*) IN LINE (\d+) OF (.*): (.*)

De nem, igy \3 "HELLO.C: 'R1'" lesz, mivel a \3 a masodik kettospontig tart az elso helyett.

Mi az a regexp ami olyan eredmenyt ad, amilyet fent irtam?

Koszi,

/sza2

Hozzászólások

Szokott lenni a regexpeknek modifier-e, az ungreedy pont erre valo.
Egyebkent itt megkerulheto:
^\*{3} ERROR (.*) IN LINE (\d+) OF (.*): (.*:.*)$
esetleg ha garantalhato, hogy a HELLO.C-ben nincs ":"
^\*{3} ERROR (.*) IN LINE (\d+) OF ([^:]*): (.*)$

--
Tudod te, mennyi lóvé fér egy Alstom-kocsi dobozába? :)) - laspalmas, VB

Hát nem .* - hanem [^:]* kéne - ez úgy első ránézésre