Localization library | |||||||||||||||||||||||||
Regular expressions library(C++11) | |||||||||||||||||||||||||
Formatting library(C++20) | |||||||||||||||||||||||||
Null-terminated sequence utilities | |||||||||||||||||||||||||
Byte strings | |||||||||||||||||||||||||
Multibyte strings | |||||||||||||||||||||||||
Wide strings | |||||||||||||||||||||||||
Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Text encoding identifications | |||||||||||||||||||||||||
|
Classes | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
Algorithms | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
Iterators | ||||
(C++11) | ||||
(C++11) | ||||
Exceptions | ||||
(C++11) | ||||
Traits | ||||
(C++11) | ||||
Constants | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
Regex Grammar | ||||
(C++11) |
Member Functions | ||||
Observers | ||||
Locale | ||||
Modifiers | ||||
Constants | ||||
Non-member Functions | ||||
Deduction guides(C++17) |
std::basic_regex defines several constants that govern general regex matching syntax.
These constants are duplicated fromstd::regex_constants:
Grammar option | Effect(s) |
ECMAScript | Use theModified ECMAScript regular expression grammar. |
basic | Use the basic POSIX regular expression grammar (grammar documentation). |
extended | Use the extended POSIX regular expression grammar (grammar documentation). |
awk | Use the regular expression grammar used by theawk utility in POSIX (grammar documentation). |
grep | Use the regular expression grammar used by thegrep utility in POSIX. This is effectively the same as thebasic option with the addition of newline'\n' as an alternation separator. |
egrep | Use the regular expression grammar used by thegrep utility, with the-E option, in POSIX. This is effectively the same as theextended option with the addition of newline'\n' as an alternation separator in addition to'|'. |
Grammar variation | Effect(s) |
icase | Character matching should be performed without regard to case. |
nosubs | When performing matches, all marked sub-expressions(expr) are treated as non-marking sub-expressions(?:expr) . No matches are stored in the suppliedstd::regex_match structure andmark_count() is zero. |
optimize | Instructs the regular expression engine to make matching faster, with the potential cost of making construction slower. For example, this might mean converting a non-deterministic FSA to a deterministic FSA. |
collate | Character ranges of the form"[a-b]" will be locale sensitive. |
multiline (C++17) | Specifies that^ shall match the beginning of a line and$ shall match the end of a line, if the ECMAScript engine is selected. |
At most one grammar option can be chosen out ofECMAScript
,basic
,extended
,awk
,grep
,egrep
. If no grammar is chosen,ECMAScript
is assumed to be selected. The other options serve as variations, such thatstd::regex("meow", std::regex::icase) is equivalent tostd::regex("meow", std::regex::ECMAScript|std::regex::icase).
(C++11) | general options controlling regex behavior (typedef)[edit] |