Поиск…


Синтаксис

  • Создайте названную группу захвата ( X - шаблон, который вы хотите захватить):

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

  • Ссылка на названную группу захвата:

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

замечания

Python и Java не позволяют нескольким группам использовать одно и то же имя.

Как называется названная группа захвата

Учитывая вкусы, названная группа захвата может выглядеть так:

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

Когда X - это шаблон, который вы хотите захватить. Рассмотрим следующую строку:

Когда-то была довольно маленькая девочка ...

Когда-то был единорог со шляпой ...

Когда-то была лодка с пиратским флагом ...

В котором я хочу захватить предмет ( курсивом) каждой строки. Я буду использовать следующее выражение .* was a (?<subject>[\w ]+)[.]{3} .

Результат совпадения будет иметь место:

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`

Ссылка на указанную группу захвата

Как вы можете (или не знаете), вы можете ссылаться на группу захвата с помощью:

$1

1 - номер группы.

Точно так же вы можете ссылаться на названную группу захвата с помощью:

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

Давайте рассмотрим предыдущий пример и заменим совпадения на

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

В результате получим:

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow