Sök…


Syntax

  • Bygg en namngiven fångstgrupp ( X är det mönster du vill fånga):

    (? 'name'X) (? X) (? PX)

  • Referera till en namngiven fångstgrupp:

    $ {name} \ {name} g \ {name}

Anmärkningar

Python och Java tillåter inte att flera grupper använder samma namn.

Hur en namngiven fångstgrupp ser ut

Med tanke på smakerna kan den nämnda fångstgruppen se ut så här:

(?'name'X)
(?<name>X)
(?P<name>X)

Med X är det mönster du vill fånga. Låt oss överväga följande sträng:

Det var en gång en vacker liten flicka ...

Det var en gång en enhörning med hatt ...

Det var en gång en båt med piratflagga ...

I vilken jag vill fånga ämnet (i kursiv stil) för alla rader. Jag använder följande uttryck .* was a (?<subject>[\w ]+)[.]{3} .

Det matchande resultatet kommer att hålla:

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`

Referera till en namngiven fångstgrupp

Som du kanske (eller inte) vet kan du referera till en fångstgrupp med:

$1

1 är gruppnumret.

På samma sätt kan du referera till en namngiven fångstgrupp med:

${name}
\{name}
g\{name}

Låt oss ta föregående exempel och ersätt matcherna med

The hero of the story is a ${subject}.

Resultatet vi kommer att få är:

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow