Namespaces
Variants

std:: basic_regex constants

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Определено в заголовочном файле <regex>
static constexpr std:: regex_constants :: syntax_option_type icase =

std:: regex_constants :: icase ;
static constexpr std:: regex_constants :: syntax_option_type nosubs =
std:: regex_constants :: nosubs ;
static constexpr std:: regex_constants :: syntax_option_type optimize =
std:: regex_constants :: optimize ;
static constexpr std:: regex_constants :: syntax_option_type collate =
std:: regex_constants :: collate ;
static constexpr std:: regex_constants :: syntax_option_type ECMAScript =
std:: regex_constants :: ECMAScript ;
static constexpr std:: regex_constants :: syntax_option_type basic =
std:: regex_constants :: basic ;
static constexpr std:: regex_constants :: syntax_option_type extended =
std:: regex_constants :: extended ;
static constexpr std:: regex_constants :: syntax_option_type awk =
std:: regex_constants :: awk ;
static constexpr std:: regex_constants :: syntax_option_type grep =
std:: regex_constants :: grep ;
static constexpr std:: regex_constants :: syntax_option_type egrep =

std:: regex_constants :: egrep ;
(начиная с C++17)

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 ) .

Смотрите также

общие опции, управляющие поведением регулярных выражений
(typedef)