Wiederholung |
Top Previous Next |
Skripte > Tokendefinitionen > Reguläre Ausdrücke > Wiederholung
Jedes Atom (ein einzelnes Zeichen, ein markierter Unterausdruck, oder eine Zeichenmenge) kann mit den *, +, ?, und {} Operatoren wiederholt werden.
*
Der * Operator stimmt mit einer null- oder mehrmaligen Wiederholung des vorausgegangenen Atoms überein. Z.B. wird der Ausdruck a*b jeden der folgenden Texte erkennen:
b ab aaaaaaaab
+
Der + Operator stimmt mit einer ein- oder mehrmaligen Wiederholung des vorausgegangenen Atoms überein. Z.B. wird der Ausdruck a+b jeden der folgenden Texte erkennen:
ab aaaaaaaab
Aber nicht:
b
Der +-Operator darf nicht auf löschbare Strukturen angewendet werden.
?
Der ? Operator stimmt mit einer null- oder einmaligen Wiederholung des vorausgegangenen Atoms überein. Z.B. wird der Ausdruck ca?b jeden der folgenden Texte erkennen:
cb cab
Aber nicht:
caab
{}
Ein Atom kann auch begrenzt wiederholt werden:
a{n} passt aus eine genau n-malige Wiederholung von 'a'.
a{n,} passt aus eine n- oder mehr-malige Wiederholung von 'a'.
a{n, m} passt auf eine n- bis m-malige (inklusiv) Wiederholung von 'a'
Zum Beispiel:
^a{2,3}$
passt auf beide:
aa aaa
aber auf keines von:
a aaaa
Die Benutzung eines Wiederholungsoperators ist ein Fehler, wenn sich das vorausgehende Konstrukt nicht wiederholen lässt. Zm Beispiel:
a(*)
Alle Wiederholungsausdrücke ("+", "*" und "?") beziehen sich auf den kürzesten vorherigen Unterausdruck (im Gegensatz zu den Alternativen s.o.); beispielsweise ein einzelnes Zeichen, eine Zeichenmenge oder einen Unterausdruck, der durch Klammern "(...)" zusammengefasst ist. Der erste Beispielsausdruck "ba*" passt daher nicht auf "baba".
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |