|
Mit Perl in der Version 5.005 sind einige Varianten hinzugekommen:
Der Backtracking-Algorithmus (insbesondere die
Regeln 3 und 5) können zu einem exponentiell anwachsenden
Aufwand führen, der bei längeren Texten unzumutbar ist.
Hierfür kann die Konstruktion (?>regexp) recht nützlich
sein, die regexp an der aktuellen Stelle im Text untersucht,
als ob kein umgebender regulärer Ausdruck existieren würde.
Backtracking kommt entsprechend nicht zum Zuge.
| |||||
Mit (?(condition)yes-pattern|no-pattern) bzw. (?(condition)yes-pattern) können reguläre Ausdrücke in Abhängigkeit von einer Bedingung eingefügt werden, die entweder
| |||||
Mit (?{ code }) können Perl-Ausdrücke eingebettet
werden, die immer zutreffen. Da Sichtbarkeitsbereiche
entsprechend der Backtracking-Ebenen gezogen werden,
kann auf diese Weise beispielsweise ermittelt werden, welchen
Wert ein bestimmter Quantifikator angenommen hat.
|
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000 |