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