std::regex_constants::match_flag_type
Определено в заголовке <regex> |
||
|---|---|---|
using match_flag_type = /* implementation-defined */; |
(1) | (с C++11) |
| (2) | ||
constexpr match_flag_type match_default = {};
constexpr match_flag_type match_not_bol = /* unspecified */;
constexpr match_flag_type match_not_eol = /* unspecified */;
constexpr match_flag_type match_not_bow = /* unspecified */;
constexpr match_flag_type match_not_eow = /* unspecified */;
constexpr match_flag_type match_any = /* unspecified */;
constexpr match_flag_type match_not_null = /* unspecified */;
constexpr match_flag_type match_continuous = /* unspecified */;
constexpr match_flag_type match_prev_avail = /* unspecified */;
constexpr match_flag_type format_default = {};
constexpr match_flag_type format_sed = /* unspecified */;
constexpr match_flag_type format_no_copy = /* unspecified */;
constexpr match_flag_type format_first_only = /* unspecified */; |
(с C++11) (до C++17) |
|
inline constexpr match_flag_type match_default = {};
inline constexpr match_flag_type match_not_bol = /* unspecified */;
inline constexpr match_flag_type match_not_eol = /* unspecified */;
inline constexpr match_flag_type match_not_bow = /* unspecified */;
inline constexpr match_flag_type match_not_eow = /* unspecified */;
inline constexpr match_flag_type match_any = /* unspecified */;
inline constexpr match_flag_type match_not_null = /* unspecified */;
inline constexpr match_flag_type match_continuous = /* unspecified */;
inline constexpr match_flag_type match_prev_avail = /* unspecified */;
inline constexpr match_flag_type format_default = {};
inline constexpr match_flag_type format_sed = /* unspecified */;
inline constexpr match_flag_type format_no_copy = /* unspecified */;
inline constexpr match_flag_type format_first_only = /* unspecified */;
|
(с C++17) |
1)
match_flag_type — это BitmaskType, который определяет дополнительные параметры сопоставления регулярных выражений.
Константы
Примечание: [first, last) относится к последовательности символов, которые сопоставляются.
| Константа | Объяснение |
|---|---|
match_not_bol |
Первый символ в [first, last) будет обрабатываться как если бы он не находился в начале строки(т.е. ^ не будет соответствовать [first, first)). |
match_not_eol |
Последний символ в [first, last) будет обрабатываться как если бы он не находился в конце строки(т.е. $ не будет соответствовать [last, last)). |
match_not_bow |
\b не будет соответствовать [first, first). |
match_not_eow |
\b не будет соответствовать [last, last). |
match_any |
Если возможно несколько совпадений, любое совпадение является приемлемым результатом. |
match_not_null |
Не сопоставлять пустые последовательности. |
match_continuous |
Сопоставлять только подпоследовательность, которая начинается с first. |
match_prev_avail |
--first — это допустимая позиция итератора.При установке игнорируются match_not_bol и match_not_bow. |
format_default |
Использовать правила ECMAScript для построения строк в std::regex_replace (документация синтаксиса). |
format_sed |
Использовать правила утилиты POSIX sed в std::regex_replace (документация синтаксиса). |
format_no_copy |
Не копировать несовпавшие строки в выходные данные в std::regex_replace. |
format_first_only |
Заменить только первое совпадение в std::regex_replace. |
Все константы, кроме match_default и format_default, являются элементами битовой маски. Константы match_default и format_default являются пустыми битовыми масками.
Отчеты об ошибках
Следующие отчеты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применен к | Поведение, как опубликовано | Правильное поведение |
|---|---|---|---|
| LWG 2053 | C++11 | 1. константы были объявлены static 2. match_default и format_default были инициализированы из 0 |
1. удален спецификатор static 2. инициализированы из {} |
См. также
|
(C++11) |
попытка сопоставления регулярного выражения со всей последовательностью символов (шаблон функции) |
|
(C++11) |
общие параметры, управляющие поведением регулярных выражений (typedef) |
|
(C++11) |
описывает различные типы ошибок сопоставления (typedef) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/regex/match_flag_type