Thread RegEx: Zeichenfolge darf in Zeichenkette nich vorkommen (9 answers)
Opened by burnersk at 2008-06-26 13:34

moritz
 2008-06-26 19:40
#111571 #111571
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
murphy+2008-06-26 16:17:23--
moritz+2008-06-26 12:01:06--
[...] Reguläre Ausdrücke eignen sich nicht für verschachtelte Konstrukte.


Seit Perl 5.10 sind die regulären Ausdrücke effektiv PEGs und eignen sich folglich auch für verschachtelte Konstrukte und komplette Parser, wenn man möchte.


Die Botschaft hör ich wohl, allein es fehlt der Glaube.

Als ich nach dem Release von perl-5.10 probiert habe, so eine "regex" für XML zu bauen habe ich erst mal zwei Bugs in der Regex-Engine entdeckt, und habe festgestellt, dass es, auch wenn man mal gerade nicht auf bugs trifft, verdammt hart ist, diese Dinger zu debuggen.

Z.B. kann man sich nicht einfach ein stack-trace ausgeben lassen um zu sehen, in welcher Verschatelung die einzelnen Teile der "Regex" gematcht haben.

Auch ist es komisch, wenn nicht-backtrackende Gruppen (?>...) auf einmal langsamer sind als backtrackende.

Ich bleibe also dabei, dass "geeignet" was anderes ist.

Update: ach ja, ausserdem will man ja beim parsen einen Parse-Tree bauen, und das kann man in den 5.10er-regexes nur dann, wenn man (?{...}) Assertions benutzt, die immer noch als "experimental" gelten und z.B. viele Scoping-Bugs haben. Kein Spass.

View full thread RegEx: Zeichenfolge darf in Zeichenkette nich vorkommen