std::regex_constants::match_flag_type

From cppreference.com
< cpp‎ | regex
Defined in header <regex>
using match_flag_type = /* implementation-defined */;
(1) (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 */ ;
(2) (since C++11)
(inline since C++17)
1) match_flag_type is a BitmaskType

Constants

Note: [ first last )

Name 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 [firstfirst)
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 [lastlast)
match_not_bow \b will not match [firstfirst)
match_not_eow \b will not match [lastlast)
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.

Defect reports

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 1. the constants were declared static
2. match_default and format_default were initialized from 0
1. removed the static specifier
2. initialized from {}

See also

(C++11)
attempts to match a regular expression to an entire character sequence
(function template)
general options controlling regex behavior
(typedef)
(C++11)
describes different types of matching errors
(typedef)