std::regex_constants::match_flag_type - cppreference.com (original) (raw)

Defined in header
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.

[edit] Constants

Note: [first, last) refers to the character sequence being matched.

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 [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.

[edit] 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 static2. match_default and format_default were initialized from ​0​ 1. removed the static specifier2. initialized from {}

[edit] See also