Namespaces
Variants

std:: basic_regex constants

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
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 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

Allgemeine Optionen zur Steuerung des Regex-Verhaltens
(Typdefinition)