28 Regular expressions library [re]

28.5 Namespace std::regex_constants [re.const]

28.5.1 Bitmask type syntax_option_type [re.synopt]

namespace std {
  namespace regex_constants {
    typedef T1 syntax_option_type;
    static constexpr syntax_option_type icase = unspecified;
    static constexpr syntax_option_type nosubs = unspecified;
    static constexpr syntax_option_type optimize = unspecified;
    static constexpr syntax_option_type collate = unspecified;
    static constexpr syntax_option_type ECMAScript = unspecified;
    static constexpr syntax_option_type basic = unspecified;
    static constexpr syntax_option_type extended = unspecified;
    static constexpr syntax_option_type awk = unspecified;
    static constexpr syntax_option_type grep = unspecified;
    static constexpr syntax_option_type egrep = unspecified;
  }
}

The type syntax_option_type is an implementation-defined bitmask type ([bitmask.types]). Setting its elements has the effects listed in table [tab:re:syntaxoption]. A valid value of type syntax_option_type shall have exactly one of the elements ECMAScript, basic, extended, awk, grep, egrep, set.

Table 138syntax_option_type effects
ElementEffect(s) if set
icase Specifies that matching of regular expressions against a character container sequence shall be performed without regard to case.
nosubs Specifies that when a regular expression is matched against a character container sequence, no sub-expression matches shall be stored in the supplied match_results structure.
optimize Specifies that the regular expression engine should pay more attention to the speed with which regular expressions are matched, and less to the speed with which regular expression objects are constructed. Otherwise it has no detectable effect on the program output.
collate Specifies that character ranges of the form "[a-b]" shall be locale sensitive.
ECMAScript Specifies that the grammar recognized by the regular expression engine shall be that used by ECMAScript in ECMA-262, as modified in [re.grammar].
basic Specifies that the grammar recognized by the regular expression engine shall be that used by basic regular expressions in POSIX, Base Definitions and Headers, Section 9, Regular Expressions.
extended Specifies that the grammar recognized by the regular expression engine shall be that used by extended regular expressions in POSIX, Base Definitions and Headers, Section 9, Regular Expressions.
awk Specifies that the grammar recognized by the regular expression engine shall be that used by the utility awk in POSIX.
grep Specifies that the grammar recognized by the regular expression engine shall be that used by the utility grep in POSIX.
egrep Specifies that the grammar recognized by the regular expression engine shall be that used by the utility grep when given the -E option in POSIX.