30 Regular expressions library [re] (original) (raw)

The type match_­flag_­type is animplementation-defined bitmask type.

The constants of that type, except for match_­default andformat_­default, are bitmask elements.

The match_­default andformat_­default constants are empty bitmasks.

Matching a regular expression against a sequence of characters [first, last) proceeds according to the rules of the grammar specified for the regular expression object, modified according to the effects listed in Table 137 for any bitmask elements set.

Table 137: regex_­constants​::​match_­flag_­type effects when obtaining a match against a character container sequence [first, last). [tab:re.matchflag]

🔗 Element Effect(s) if set
🔗 match_­not_­bol The first character in the sequence [first, last) shall be treated as though it is not at the beginning of a line, so the character^ in the regular expression shall not match [first, first).
🔗 match_­not_­eol The last character in the sequence [first, last) shall be treated as though it is not at the end of a line, so the character"$" in the regular expression shall not match [last, last).
🔗 match_­not_­bow The expression "\\b" shall not match the sub-sequence [first, first).
🔗 match_­not_­eow The expression "\\b" shall not match the sub-sequence [last, last).
🔗 match_­any If more than one match is possible then any match is an acceptable result.
🔗 match_­not_­null The expression shall not match an empty sequence.
🔗 match_­continuous The expression shall only match a sub-sequence that begins atfirst.
🔗 match_­prev_­avail --first is a valid iterator position. When this flag is set the flags match_­not_­bol and match_­not_­bow shall be ignored by theregular expression algorithms and iterators.
🔗 format_­default When a regular expression match is to be replaced by a new string, the new string shall be constructed using the rules used by the ECMAScript replace function in ECMA-262, part 15.5.4.11 String.prototype.replace. In addition, during search and replace operations all non-overlapping occurrences of the regular expression shall be located and replaced, and sections of the input that did not match the expression shall be copied unchanged to the output string.
🔗 format_­sed When a regular expression match is to be replaced by a new string, the new string shall be constructed using the rules used by the sed utility in POSIX.
🔗 format_­no_­copy During a search and replace operation, sections of the character container sequence being searched that do not match the regular expression shall not be copied to the output string.
🔗 format_­first_­only When specified during a search and replace operation, only the first occurrence of the regular expression shall be replaced.