std:: basic_regex constants
std::basic_regex definiert mehrere Konstanten, die die allgemeine Syntax für Regex-Matching steuern.
Diese Konstanten sind dupliziert von std :: regex_constants :
| Grammatikoption | Auswirkung(en) |
ECMAScript
|
Verwendet die Modifizierte ECMAScript-Regular-Expression-Grammatik . |
basic
|
Verwendet die grundlegende POSIX-Regular-Expression-Grammatik ( Grammatikdokumentation ). |
extended
|
Verwendet die erweiterte POSIX-Regular-Expression-Grammatik ( Grammatikdokumentation ). |
awk
|
Verwendet die Regular-Expression-Grammatik, die vom awk -Utility in POSIX verwendet wird ( Grammatikdokumentation ). |
grep
|
Verwendet die Regular-Expression-Grammatik, die vom
grep
-Utility in POSIX verwendet wird. Dies entspricht effektiv der
basic
-Option mit der Ergänzung von Newline
'
\n
'
als Alternationstrennzeichen.
|
egrep
|
Verwendet die Regular-Expression-Grammatik, die vom
grep
-Utility mit der
-E
-Option in POSIX verwendet wird. Dies entspricht effektiv der
extended
-Option mit der Ergänzung von Newline
'
\n
'
als zusätzlichem Alternationstrennzeichen neben
'|'
.
|
| Grammatikvariante | Auswirkung(en) |
icase
|
Zeichenvergleiche sollten ohne Berücksichtigung der Groß-/Kleinschreibung durchgeführt werden. |
nosubs
|
Bei der Durchführung von Übereinstimmungen werden alle markierten Teilausdrücke
(
expr
)
als nicht-markierende Teilausdrücke
(?:
expr
)
behandelt. Keine Übereinstimmungen werden in der bereitgestellten
std::regex_match
-Struktur gespeichert und
mark_count()
ist null.
|
optimize
|
Weist die Regular-Expression-Engine an, das Matching zu beschleunigen, mit potenziellen Kosten einer langsameren Erstellung. Dies könnte beispielsweise die Konvertierung eines nicht-deterministischen FSA in einen deterministischen FSA bedeuten. |
collate
|
Zeichenbereiche der Form "[a-b]" werden lokalisierungssensitiv sein. |
multiline
(C++17)
|
Legt fest, dass
^
den Anfang einer Zeile und
$
das Ende einer Zeile entsprechen soll, wenn die ECMAScript-Engine ausgewählt ist.
|
Höchstens eine Grammatikoption kann ausgewählt werden aus
ECMAScript
,
basic
,
extended
,
awk
,
grep
,
egrep
. Wenn keine Grammatik gewählt wird, wird
ECMAScript
als ausgewählt angenommen. Die anderen Optionen dienen als Varianten, sodass
std::
regex
(
"meow"
, std
::
regex
::
icase
)
äquivalent ist zu
std::
regex
(
"meow"
, std
::
regex
::
ECMAScript
|
std
::
regex
::
icase
)
.
Siehe auch
|
(C++11)
|
Allgemeine Optionen zur Steuerung des Regex-Verhaltens
(Typdefinition) |