std::basic_regex Konstanten
Von cppreference.com
< cpp | regex | basic regex
std::basic_regex definiert mehrere Konstanten, die allgemeine Syntaxoptionen für reguläre Ausdrücke steuern.
Diese Konstanten sind Duplikate von std::regex_constants
| Grammatik-Option | Effekt(e) |
ECMAScript
|
Verwendet die modifizierte ECMAScript-Grammatik für reguläre Ausdrücke. |
basic
|
Verwendet die grundlegende POSIX-Grammatik für reguläre Ausdrücke (Grammatikdokumentation). |
extended
|
Verwendet die erweiterte POSIX-Grammatik für reguläre Ausdrücke (Grammatikdokumentation). |
awk
|
Verwendet die Grammatik für reguläre Ausdrücke, die vom awk-Dienstprogramm in POSIX verwendet wird (Grammatikdokumentation). |
grep
|
Verwendet die Grammatik für reguläre Ausdrücke, die vom grep-Dienstprogramm in POSIX verwendet wird. Dies ist im Wesentlichen dieselbe wie die Option basic, mit dem Zusatz, dass der Zeilenumbruch '\n' als Alternativseparator verwendet wird. |
egrep
|
Verwendet die Grammatik für reguläre Ausdrücke, die vom grep-Dienstprogramm mit der Option -E in POSIX verwendet wird. Dies ist im Wesentlichen dieselbe wie die Option extended, mit dem Zusatz, dass der Zeilenumbruch '\n' als Alternativseparator zusätzlich zu '|' verwendet wird. |
| Grammatik-Variante | Effekt(e) |
icase
|
Die Zeichenübereinstimmung sollte ohne Berücksichtigung der Groß- und Kleinschreibung erfolgen. |
nosubs
|
Bei der Durchführung von Übereinstimmungen werden alle markierten Unterausdrücke (expr) als nicht-markierende Unterausdrücke (?:expr) behandelt. Es werden keine Übereinstimmungen in der bereitgestellten std::regex_match Struktur gespeichert und mark_count() ist Null. |
optimize
|
Weist die Regex-Engine an, den Abgleich zu beschleunigen, potenziell auf Kosten einer langsameren Konstruktion. Dies kann zum Beispiel die Umwandlung eines nichtdeterministischen Endlichen Automaten (NEA) in einen deterministischen Endlichen Automaten (DEA) bedeuten. |
collate
|
Zeichenbereiche der Form "[a-b]" sind locale-sensitiv. |
multiline (C++17) |
Gibt an, dass ^ den Anfang einer Zeile und $ das Ende einer Zeile abgleichen soll, wenn die ECMAScript-Engine ausgewählt ist. |
Von ECMAScript, basic, extended, awk, grep, egrep kann höchstens eine Grammatikoption ausgewählt werden. Wenn keine Grammatik gewählt wird, wird angenommen, dass ECMAScript ausgewählt ist. Die anderen Optionen dienen als Variationen, so dass std::regex("miau", std::regex::icase) äquivalent zu std::regex("miau", std::regex::ECMAScript|std::regex::icase) ist.
[bearbeiten] Siehe auch
| (C++11) |
allgemeine Optionen zur Steuerung des Verhaltens von regulären Ausdrücken (Typalias) |