Regular Expressions
Benannte Fanggruppen
Suche…
Syntax
Erstellen Sie eine benannte Erfassungsgruppe (
X
ist das Muster, das Sie erfassen möchten):(? 'name'X) (? X) (? PX)
Verweisen Sie auf eine benannte Capture-Gruppe:
$ {name} \ {name} g \ {name}
Bemerkungen
Python und Java erlauben nicht, dass mehrere Gruppen denselben Namen verwenden.
Wie eine benannte Capture-Gruppe aussieht
In Anbetracht der Geschmacksrichtungen kann die benannte Capture-Gruppe folgendermaßen aussehen:
(?'name'X)
(?<name>X)
(?P<name>X)
Dabei ist X
das Muster, das Sie erfassen möchten. Betrachten wir die folgende Zeichenfolge:
Es war einmal ein hübsches kleines Mädchen ...
Es war einmal ein Einhorn mit Hut ...
Es war einmal ein Boot mit Piratenflagge ...
In dem ich das Thema ( kursiv) jeder Zeile erfassen möchte. Ich verwende den folgenden Ausdruck .* was a (?<subject>[\w ]+)[.]{3}
.
Das übereinstimmende Ergebnis gilt:
MATCH 1
subject [29-47] `pretty little girl`
MATCH 2
subject [80-99] `unicorn with an hat`
MATCH 3
subject [132-155] `boat with a pirate flag`
Verweisen Sie auf eine benannte Capture-Gruppe
Wie Sie vielleicht wissen (oder nicht wissen), können Sie auf eine Capture-Gruppe verweisen mit:
$1
1
ist die Gruppennummer.
Auf dieselbe Weise können Sie auf eine benannte Capture-Gruppe mit folgendem verweisen:
${name}
\{name}
g\{name}
Nehmen wir das vorstehende Beispiel und ersetzen Sie die Übereinstimmungen mit
The hero of the story is a ${subject}.
Das Ergebnis, das wir erhalten werden, ist:
The hero of the story is a pretty little girl.
The hero of the story is a unicorn with an hat.
The hero of the story is a boat with a pirate flag.