Struct mark_tag
boost::xpressive::mark_tag — Sub-match placeholder type, used to create named captures in static regexes.
Synopsis
Description
mark_tag
- это тип глобальных подматчевых заполнителей s0
, s1
и т.д. Вы можете использовать тип mark_tag
для создания собственных подматчевых заполнителей с более значимыми именами. Это примерно эквивалентно свойству «названного захвата» динамических регулярных выражений.
Чтобы создать названный подматчевый заполнитель, инициализируйте его уникальным целым числом. Целое число должно быть уникальным только в пределах регекса, в котором используется заполнитель. Затем вы можете использовать его в статических регексах для созданных подматчей, назначив ему подэкспрессию или ссылаясь на уже созданные подматчи.
mark_tag number(1);
sregex rx = (number = +_d) >> ' ' >> number;
После успешного regex_match()
или regex_search()
, подматчевый заполнитель можно использовать для индексации в match_results<>
объекта для извлечения соответствующего подматча.
mark_tag
public
construct/copy/destruct
mark_tagintmark_nbr;mark_tag заполнитель.
| | | | mark_nbr
| В статических регексах, в которых используется этот mark_tag , будет использовано целое число.
|