Namensräume
Varianten
Aktionen

std::basic_regex Konstanten

Von cppreference.com
< cpp‎ | regex‎ | basic regex
 
 
 
Bibliothek für reguläre Ausdrücke
Klassen
(C++11)
Algorithmen
Iteratoren
Ausnahmen
Traits
Konstanten
(C++11)
Reguläre Ausdrucksgrammatiken
 
 
Definiert in Header <regex>
static constexpr std::regex_constants::syntax_option_type icase =

    std::regex_constants::icase;
static constexpr std::regex_constants::syntax_option_type nosubs =
    std::regex_constants::nosubs;
static constexpr std::regex_constants::syntax_option_type optimize =
    std::regex_constants::optimize;
static constexpr std::regex_constants::syntax_option_type collate =
    std::regex_constants::collate;
static constexpr std::regex_constants::syntax_option_type ECMAScript =
    std::regex_constants::ECMAScript;
static constexpr std::regex_constants::syntax_option_type basic =
    std::regex_constants::basic;
static constexpr std::regex_constants::syntax_option_type extended =
    std::regex_constants::extended;
static constexpr std::regex_constants::syntax_option_type awk =
    std::regex_constants::awk;
static constexpr std::regex_constants::syntax_option_type grep =
    std::regex_constants::grep;
static constexpr std::regex_constants::syntax_option_type egrep =

    std::regex_constants::egrep;
(seit C++17)

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

allgemeine Optionen zur Steuerung des Verhaltens von regulären Ausdrücken
(Typalias) [bearbeiten]