Regular Expressions
Genoemde opnamegroepen
Zoeken…
Syntaxis
Bouw een benoemde vastleggroep (
X
is het patroon dat u wilt vastleggen):(? 'name'X) (? X) (? PX)
Verwijs naar een genoemde vastleggroep:
$ {name} \ {name} g \ {name}
Opmerkingen
Python en Java staan niet toe dat meerdere groepen dezelfde naam gebruiken.
Hoe een benoemde vastleggroep eruit ziet
Gezien de smaken ziet de genoemde capture-groep er als volgt uit:
(?'name'X)
(?<name>X)
(?P<name>X)
Met X
is het patroon dat u wilt vastleggen. Laten we de volgende tekenreeks overwegen:
Er was eens een mooi klein meisje ...
Er was eens een eenhoorn met een hoed ...
Er was eens een boot met een piratenvlag ...
Waarin ik het onderwerp ( cursief) van elke regel wil vastleggen. Ik gebruik de volgende uitdrukking .* was a (?<subject>[\w ]+)[.]{3}
.
Het overeenkomende resultaat bevat:
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`
Verwijs naar een genoemde vastleggroep
Zoals u wellicht (of niet) weet, kunt u verwijzen naar een opnamegroep met:
$1
1
is het groepsnummer.
Op dezelfde manier kunt u verwijzen naar een benoemde vastleggroep met:
${name}
\{name}
g\{name}
Laten we het voorgaande voorbeeld nemen en de overeenkomsten vervangen door
The hero of the story is a ${subject}.
Het resultaat dat we behalen is:
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.