Thread RegEx: was macht _|_ ? (9 answers)
Opened by pktm at 2008-05-25 14:11

moritz
 2008-05-25 16:38
#110284 #110284
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
pktm+2008-05-25 13:28:26--
Ich dachte immer, so ein Operator frisst so wenig von der RegEx wie möglich.


Operatoren fressen nichts.

Die Regex-Engine parst die regex, und beachtet dabei folgenden Operatorvorrang:

Code: (dl )
1
2
3
4
5
stärkster Vorrang oben
Klammern (), [], (?>), usw
Quantoren *, +, ?, *?, *+, {...}
Konkatenation abc
Alternierung |


Dabei zählen Anker wie ^ und $ zur Konkatenation.

Also wird
Code: (dl )
qr{^abc+|d(?:foo)+$}

wie folgt geparst:
Code: (dl )
((^ab)(c+))|(d((?:foo)+)$)

View full thread RegEx: was macht _|_ ?