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.


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow