std::regex_constants::match_flag_type
Определён в заголовке <regex> | ||
|---|---|---|
using match_flag_type = /* implementation-defined */; | (1) | (начиная с C++11) |
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 */;
| (2) | (начиная с C++11) (inline начиная с 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++.
| Отчёт об ошибке | Применён к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| LWG 2053 | C++11 | 1. константы были объявлены как static 2. match_default и format_default инициализировались значением 0 | 1. спецификатор static удалён 2. инициализация значением {} |
См. также
|
(C++11) | пытается сопоставить регулярное выражение со всей последовательностью символов (шаблон функции) |
|
(C++11) | общие параметры, управляющие поведением регулярных выражений (определение типа) |
|
(C++11) | описывает различные типы ошибок сопоставления (определение типа) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/regex/match_flag_type