Regular Expressions
Namngivna fångstgrupper
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.