Unterausdrücke |
Top Previous Next |
Skripte > Klassen-Elemente und C++-Befehle > Parserklasse-Methoden > Parserzustand > Unterausdrücke
In regulären Ausdrücken können die Klammern "(...)" u.a. dazu dienen, die Textteile zu markieren, die von den Unterausdrücken des gesamten regulären Ausdrucks erkannt werden.
Über einen Index-Parameter bei den Funktionen str und length kann auf die einzelnen Unterausdrücke bzw. ihr Länge zugegriffen werden. So wird der gesamte erkannte Text durch xState.str() oder xState.str(0) erhalten. xState.str(1) gibt den Textteil zurück, der von dem Unterausdruck mit dem Index 1 erkannt wurde. Der Index eines Unterausdrucks ergibt sich aus der Nummer seiner öffnenden Klammer innerhalb des gesamten Ausdrucks, wobei die Unterausdrücke beginnend mit 1 von links nach rechts im gesamten Ausdruck gezählt werden.
Der Punkt "Regex Test" im Hilfemenü öffnet einen Dialog zur einfachen Bestimmung der Unterausdrücke eines regulären Ausdrucks.
Folgende Indizes sind definiert:
Beispiel:
der Ausdruck:
"(ab)*"
werde auf den Text
"ababab"
angewandt. xState.str(1) enthielte in diesem Fall das letzte "ab" des Textes
Unterausdrücke können auf leere Strings passen, d.h. sie müssen nicht unbedingt an der Übereinstimmung mit einem Text in dem Sinne teilhaben, dass sie einen Teil von diesem abdeckten. Beispielsweise kann der Unterausdruck Teil einer Alternative sein, die nicht zum Text passt.
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |