std::basic_regex константы
Определено в заголовочном файле <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;
| ||
static constexpr std::regex_constants::syntax_option_type multiline =
std::regex_constants::multiline;
| (с C++17) |
std::basic_regex определяет несколько констант, управляющих синтаксисом общего сопоставления с регулярными выражениями.
Эти константы дублируются из std::regex_constants.
| Значение | Эффект(ы) |
|---|---|
icase | Сопоставление символов должно выполняться без учета регистра. |
nosubs | При выполнении сопоставлений все отмеченные подвыражения (expr) обрабатываются как неопределенные подвыражения (?:expr). Сопоставления не сохраняются в предоставленной структуре std::regex_match и mark_count() равно нулю. |
optimize | Указывает движку регулярных выражений на более быстрое сопоставление, потенциально замедлив построение. Например, это может означать преобразование недетерминированного конечного автомата в детерминированный. |
collate | Диапазоны символов вида "[a-b]" будут чувствительны к локали. |
multiline (C++17) | Указывает, что ^ должно соответствовать началу строки, а $ должно соответствовать концу строки, если выбран движок ECMAScript. |
ECMAScript | Использовать модифицированную грамматику регулярных выражений ECMAScript. |
basic | Использовать основную грамматику регулярных выражений POSIX (документация грамматики). |
extended | Использовать расширенную грамматику регулярных выражений POSIX (документация грамматики). |
awk | Использовать грамматику регулярных выражений, используемую утилитой awk в POSIX (документация грамматики). |
grep | Использовать грамматику регулярных выражений, используемую утилитой grep в POSIX. Это фактически то же самое, что и опция basic с добавлением разделителя чередования новой строки '\n'. |
egrep | Использовать грамматику регулярных выражений, используемую утилитой grep с опцией -E в POSIX. Это фактически то же самое, что и опция extended с добавлением разделителя чередования новой строки '\n' в дополнение к '|'. |
Должна быть выбрана не более одной грамматической опции из 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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/regex/basic_regex/constants