28 Text processing library [text]
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; }
The type match_flag_type is an implementation-defined bitmask type ([bitmask.types]).
The constants of that type, except for match_default and format_default, are bitmask elements.
The match_default and format_default constants are empty bitmasks.
Matching a regular expression against a sequence of characters [first, last) proceeds according to the rules of the grammar specified for the regular expression object, modified according to the effects listed in Table 119 for any bitmask elements set.
Table 119 — regex_constants::match_flag_type effects [tab:re.matchflag]
Element | Effect(s) if set |
The first character in the sequence [first, last) shall be treated
as though it is not at the beginning of a line, so the character
| |
The last character in the sequence [first, last) shall be treated
as though it is not at the end of a line, so the character
| |
The expression | |
The expression | |
If more than one match is possible then any match is an acceptable result. | |
The expression shall not match an empty sequence. | |
The expression shall only match a sub-sequence that begins at first. | |
When a regular expression match is to be replaced by a new string, the new string shall be constructed using the rules used by the ECMAScript replace function in ECMA-262, part 15.5.4.11 String.prototype.replace. In addition, during search and replace operations all non-overlapping occurrences of the regular expression shall be located and replaced, and sections of the input that did not match the expression shall be copied unchanged to the output string. | |
When a regular expression match is to be replaced by a new string, the new string shall be constructed using the rules used by the sed utility in POSIX. | |
During a search and replace operation, sections of the character container sequence being searched that do not match the regular expression shall not be copied to the output string. | |
When specified during a search and replace operation, only the first occurrence of the regular expression shall be replaced. |