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 that specifies additional regular expression matching options.

Constants

Note: [firstlast) refers to the character sequence being matched.

Name Explanation
match_not_bol The first character in [firstlast) 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 [firstlast) 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

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