Groovy - Reguläre Ausdrücke
Ein regulärer Ausdruck ist ein Muster, mit dem Teilzeichenfolgen im Text gefunden werden. Groovy unterstützt reguläre Ausdrücke nativ mit dem Ausdruck ~ ”regex”. Der in den Zitaten enthaltene Text repräsentiert den Ausdruck zum Vergleich.
Zum Beispiel können wir ein Objekt mit regulären Ausdrücken erstellen, wie unten gezeigt -
def regex = ~'Groovy'
Wenn der Groovy-Operator = ~ als Prädikat (Ausdruck, der einen Booleschen Wert zurückgibt) in angezeigt wird if und whileBei Anweisungen (siehe Kapitel 8) wird der String-Operand links mit dem Operanden für reguläre Ausdrücke rechts abgeglichen. Daher liefert jede der folgenden Aussagen den Wert true.
Bei der Definition von regulären Ausdrücken können die folgenden Sonderzeichen verwendet werden:
Es gibt zwei spezielle Positionszeichen, die den Anfang und das Ende einer Zeile kennzeichnen: Caret (∧) und Dollarzeichen ($).
Reguläre Ausdrücke können auch Quantifizierer enthalten. Das Pluszeichen (+) steht für ein oder mehrere Male, angewendet auf das vorhergehende Element des Ausdrucks. Das Sternchen (*) wird verwendet, um null oder mehr Vorkommen darzustellen. Das Fragezeichen (?) Bezeichnet Null oder einmal.
Das Metazeichen {und} wird verwendet, um einer bestimmten Anzahl von Instanzen des vorhergehenden Zeichens zu entsprechen.
In einem regulären Ausdruck kann das Punktsymbol (.) Ein beliebiges Zeichen darstellen. Dies wird als Platzhalterzeichen bezeichnet.
Ein regulärer Ausdruck kann Zeichenklassen enthalten. Eine Reihe von Zeichen kann als einfache Folge von Zeichen angegeben werden, die in den Metazeichen [und] wie in [aeiou] enthalten sind. Für Buchstaben- oder Zahlenbereiche können Sie ein Strich-Trennzeichen wie in [a - z] oder [a - mA - M] verwenden. Das Komplement einer Zeichenklasse wird wie in [∧a - z] durch ein führendes Caret innerhalb der quadratischen Schläger gekennzeichnet und repräsentiert alle Zeichen außer den angegebenen. Einige Beispiele für reguläre Ausdrücke sind unten angegeben
'Groovy' =~ 'Groovy'
'Groovy' =~ 'oo'
'Groovy' ==~ 'Groovy'
'Groovy' ==~ 'oo'
'Groovy' =~ '∧G'
‘Groovy' =~ 'G$'
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'