Regular Expressions
Nazwane grupy przechwytywania
Szukaj…
Składnia
Zbuduj nazwaną grupę przechwytywania (
X
jest wzorem, który chcesz przechwycić):(? 'name'X) (? X) (? PX)
Odwołaj się do nazwanej grupy przechwytywania:
$ {nazwa} \ {nazwa} g \ {nazwa}
Uwagi
Python i Java nie pozwalają wielu grupom na używanie tej samej nazwy.
Jak wygląda nazwana grupa przechwytywania
Biorąc pod uwagę smaki, nazwana grupa przechwytywania może wyglądać następująco:
(?'name'X)
(?<name>X)
(?P<name>X)
X
jest wzorem, który chcesz uchwycić. Rozważmy następujący ciąg:
Pewnego razu była śliczna dziewczynka ...
Pewnego razu był jednorożec w kapeluszu ...
Dawno, dawno temu była łódź z piracką flagą ...
W którym chcę uchwycić temat ( kursywą) każdej linii. Użyję następującego wyrażenia .* was a (?<subject>[\w ]+)[.]{3}
.
Pasujący wynik pomieści:
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`
Odwołaj się do nazwanej grupy przechwytywania
Jak możesz (lub nie wiesz), możesz odwoływać się do grupy przechwytywania za pomocą:
$1
1
oznacza numer grupy.
W ten sam sposób możesz odwoływać się do nazwanej grupy przechwytywania za pomocą:
${name}
\{name}
g\{name}
Weźmy poprzedni przykład i zamień mecze na
The hero of the story is a ${subject}.
Otrzymamy wynik:
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.