namespace std::regex_constants { using match_flag_type = T2; 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; }
Тип match_flag_type определяется реализацией bitmask type. Константы этого типа, за исключением match_default и format_default, являются элементами битовой маски. Константы match_default и format_default являются пустыми битовыми масками. Сопоставление регулярного выражения с последовательностью символов [first, last) происходит в соответствии с правилами грамматики, указанной для объекта регулярного выражения, измененными в соответствии с эффектами, перечисленными в таблице 131 для любого набора элементов битовой маски.
Элемент | Эффект (ы), если установлен |
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 должны игнорироваться клавишами
regular expression algorithms и iterators.
|
format_default | Когда совпадение регулярного выражения должно быть заменено новой строкой, новая строка должна быть построена с использованием правил, используемых функцией замены ECMAScript в ECMA-262, часть 15.5.4.11 String.prototype.replace. Кроме того, во время операций поиска и замены все неперекрывающиеся вхождения регулярного выражения должны быть обнаружены и заменены, а разделы ввода, которые не соответствуют выражению, должны быть скопированы без изменений в выходную строку. |
format_sed | Когда совпадение регулярного выражения должно быть заменено новой строкой, новая строка должна быть построена с использованием правил, используемых утилитой sed в POSIX. |
format_no_copy | Во время операции поиска и замены разделы просматриваемой последовательности контейнеров символов, которые не соответствуют регулярному выражению, не должны копироваться в выходную строку. |
format_first_only | Если указано во время операции поиска и замены, заменяется только первое вхождение регулярного выражения. |