Defined in header <regex> | ||
---|---|---|
typedef /*unspecified*/ match_flag_type; | (since 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*/; | (since C++11) (until 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*/; | (since C++17) |
match_flag_type
is a BitmaskType that specifies additional regular expression matching options.
Note: [first, last)
refers to the character sequence being matched.
Constant | Explanation |
---|---|
match_not_bol | The first character in [first, last) will be treated as if it is not at the beginning of a line (i.e. ^ will not match [first, first) |
match_not_eol | The last character in [first, last) will be treated as if it is not at the end of a line (i.e. $ will not match [last, last) |
match_not_bow | "\b" will not match [first, first) |
match_not_eow | "\b" will not match [last, last) |
match_any | If more than one match is possible, then any match is an acceptable result |
match_not_null | Do not match empty sequences |
match_continuous | Only match a sub-sequence that begins at first |
match_prev_avail | --first is a valid iterator position. When set, causes match_not_bol and match_not_bow to be ignored |
format_default | Use ECMAScript rules to construct strings in std::regex_replace (syntax documentation) |
format_sed | Use POSIX sed utility rules in std::regex_replace . (syntax documentation) |
format_no_copy | Do not copy un-matched strings to the output in std::regex_replace |
format_first_only | Only replace the first match in std::regex_replace |
All constants, except for match_default
and format_default
, are bitmask elements. The match_default
and format_default
constants are empty bitmasks.
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 2053 | C++11 | match_flag_type could not be a scoped enumeration becausematch_default and format_default was required to be initialized from 0 | made initialized from empty braces |
(C++11) | attempts to match a regular expression to an entire character sequence (function template) |
(C++11) | general options controlling regex behavior (typedef) |
(C++11) | describes different types of matching errors (typedef) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/regex/match_flag_type