std:: basic_regex constants
std::basic_regex определяет несколько констант, которые управляют общим синтаксисом сопоставления регулярных выражений.
Эти константы дублируются из std :: regex_constants :
| Опция грамматики | Эффект(ы) |
ECMAScript
|
Использовать модифицированную грамматику регулярных выражений ECMAScript . |
basic
|
Использовать базовую грамматику регулярных выражений POSIX ( документация по грамматике ). |
extended
|
Использовать расширенную грамматику регулярных выражений POSIX ( документация по грамматике ). |
awk
|
Использовать грамматику регулярных выражений, применяемую утилитой awk в POSIX ( документация по грамматике ). |
grep
|
Использовать грамматику регулярных выражений, применяемую утилитой
grep
в POSIX. Это фактически то же самое, что опция
basic
с добавлением символа новой строки
'
\n
'
в качестве разделителя альтернатив.
|
egrep
|
Использовать грамматику регулярных выражений, применяемую утилитой
grep
с опцией
-E
в POSIX. Это фактически то же самое, что опция
extended
с добавлением символа новой строки
'
\n
'
в качестве разделителя альтернатив в дополнение к
'|'
.
|
| Вариант грамматики | Эффект(ы) |
icase
|
Сравнение символов должно выполняться без учета регистра. |
nosubs
|
При выполнении сопоставлений все помеченные подвыражения
(
expr
)
обрабатываются как непомеченные подвыражения
(?:
expr
)
. Никакие совпадения не сохраняются в предоставленной структуре
std::regex_match
и
mark_count()
равен нулю.
|
optimize
|
Указывает механизму регулярных выражений ускорить сопоставление ценой возможного замедления построения. Например, это может означать преобразование недетерминированного КА в детерминированный КА. |
collate
|
Диапазоны символов вида "[a-b]" будут учитывать локаль. |
multiline
(C++17)
|
Указывает, что
^
должен соответствовать началу строки, а
$
должен соответствовать концу строки, если выбран механизм ECMAScript.
|
Из грамматических опций может быть выбрана не более одной из следующих:
ECMAScript
,
basic
,
extended
,
awk
,
grep
,
egrep
. Если грамматика не выбрана, подразумевается, что выбрана
ECMAScript
. Остальные опции служат вариациями, так что
std::
regex
(
"meow"
, std
::
regex
::
icase
)
эквивалентно
std::
regex
(
"meow"
, std
::
regex
::
ECMAScript
|
std
::
regex
::
icase
)
.
Смотрите также
|
(C++11)
|
общие опции, управляющие поведением регулярных выражений
(typedef) |