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.


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow