Zum Hauptinhalt wechseln
Workday User Guide
Zuletzt aktualisiert: 2023-06-23
Regex-Quantifizierer

Regex-Quantifizierer

Quantifiziererkonstrukte

Quantifizierer geben an, wie oft das vorherige Konstrukt regulärer Ausdrücke übereinstimmen soll. Die Klassen von Quantifizierern sind:
  • Greyd
  • Zurückhaltend
  • Possessiv
Der Unterschied zwischen gierigen, widerwilligen und besitzenden Quantifizierern besteht darin, welcher Teil der Zeichenfolge für die erste Übereinstimmung verwendet werden soll und wie es erneut versucht wird, wenn der erste Versuch keine Übereinstimmung liefert.
Standardmäßig sind Quantifizierer
gierig
. Ein gieriger Quantifizierer versucht zunächst, eine Übereinstimmung mit der gesamten Eingabezeichenfolge zu finden. Wenn dabei eine Übereinstimmung gefunden wird, wird die Übereinstimmung als erfolgreich betrachtet und die Engine kann mit dem nächsten Konstrukt im regulären Ausdruck fortfahren. Wenn beim ersten Versuch keine Übereinstimmung gefunden wird, geht die Engine nacheinander ein Zeichen zurück, bis sie eine Übereinstimmung gefunden hat. Ein gieriger Quantifizierer sucht also nach möglichen Übereinstimmungen in der Reihenfolge von der längsten möglichen Eingabezeichenfolge bis zur kürzestmöglichen Eingabezeichenfolge und versucht es rekursiv von rechts nach links.
Fügen Sie eine hinzu
?
(Fragezeichen) mit einem gierigen Quantifizierer macht
ungern
. Ein zögerlicher Quantifizierer versucht zunächst, eine Übereinstimmung vom Anfang der Eingabezeichenfolge zu finden, beginnend mit dem kürzestmöglichen Teil der Zeichenfolge, der mit dem Regex-Konstrukt übereinstimmt. Wenn dabei eine Übereinstimmung gefunden wird, wird die Übereinstimmung als erfolgreich betrachtet und die Engine kann mit dem nächsten Konstrukt im regulären Ausdruck fortfahren. Wenn beim ersten Versuch keine Übereinstimmung gefunden wird, fügt die Engine nacheinander jeweils ein Zeichen hinzu, bis sie eine Übereinstimmung gefunden hat. Daher sucht ein Quantifizierer für widerwillige Quantifizierer in der Reihenfolge von der kürzestmöglichen Eingabezeichenfolge bis zur längstmöglichen Eingabezeichenfolge nach möglichen Übereinstimmungen und versucht es rekursiv von links nach rechts.
Fügen Sie eine hinzu
+
( Pluszeichen ) mit einem gierigen Quantifizierer macht es
possessiv
. Ein besitzender Quantifizierer ist wie ein gieriger Quantifizierer beim ersten Versuch (es wird versucht, eine Übereinstimmung mit der gesamten Eingabezeichenfolge zu finden). Der Unterschied besteht darin, dass ein besitzender Quantifizierer im Gegensatz zu einem gierigen Quantifizierer keine kürzere Zeichenfolge wiederholt, wenn keine Übereinstimmung gefunden wird. Wenn die erste Übereinstimmung fehlschlägt, meldet der besitzende Quantifizierer eine fehlgeschlagene Übereinstimmung. Es werden keine weiteren Versuche ausgeführt.
Greedy-Konstruktion
Zurückhaltende Konstruktion
Possessive Konstruktion
Beschreibung
Beispiel:
?
??
?+
Entspricht dem vorherigen Zeichen oder Konstrukt einmal oder überhaupt nicht.
st?on
stimmt mit "son" in "johnson" und "ston" in "johnston" überein, aber nichts in "clinton" oder "version"
*
*?
*+
Entspricht dem vorherigen Zeichen oder erstellt null oder mehrmals.
if*
ist mit "if", "iff" in "diff" oder "i" in "print" identisch
+
+?
++
Ist mindestens einmal mit dem vorherigen Zeichen oder Konstrukt identisch.
if+
stimmt mit "if", "iff" in "diff" überein, aber nicht mit "print"
{n}
{n}?
{n}+
Ist genau
n
-mal identisch mit dem vorherigen Zeichen oder konstruiert genau.
o{2}
stimmt mit "o" in "lookup" und mit den ersten 2 "O" in "foooo" überein, aber nichts in "mount"
{n,}
{n,}?
{n,}+
Ist mindestens
n
-mal mit dem vorherigen Zeichen identisch oder konstruiert.
o{2,}
stimmt mit "o" in "lookup" überein, alle 5 "" in "foooo" aber nichts in "mount"
{n,m}
{n,m}?
{n,m}+
stimmt mindestens
n
-mal, aber nicht mehr als
m
-mal mit dem vorherigen Zeichen oder Konstrukt überein.
F{2,4}
stimmt mit "FF" in "#FF0000" und mit den letzten 4 F in "#FFFFFF" überein