Namespaces
Variants

std:: basic_regex

From cppreference.net
Regular expressions library
Classes
basic_regex
(C++11)
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Definiert im Header <regex>
template <

class CharT,
class Traits = std:: regex_traits < CharT >

> class basic_regex ;
(seit C++11)

Die Klassenvorlage basic_regex bietet einen allgemeinen Rahmen zur Speicherung von regulären Ausdrücken.

Es werden mehrere Typdefinitionen für gängige Zeichentypen bereitgestellt:

Definiert im Header <regex>
Typ Definition
std::regex std :: basic_regex < char >
std::wregex std :: basic_regex < wchar_t >

Inhaltsverzeichnis

Mitgliedertypen

Mitgliedtyp Definition
value_type CharT
traits_type Traits
string_type Traits::string_type
locale_type Traits::locale_type
flag_type std::regex_constants::syntax_option_type

Memberfunktionen

Konstruiert das Regex-Objekt
(öffentliche Member-Funktion)
zerstört das Regex-Objekt
(public member function)
weist die Inhalte zu
(öffentliche Elementfunktion)
weist die Inhalte zu
(öffentliche Elementfunktion)
Beobachter
gibt die Anzahl der markierten Teilausdrücke innerhalb des regulären Ausdrucks zurück
(öffentliche Elementfunktion)
gibt die Syntax-Flags zurück
(öffentliche Elementfunktion)
Locale
Lokalisierungsinformationen abrufen
(öffentliche Elementfunktion)
Lokalisierungsinformationen setzen
(öffentliche Elementfunktion)
Modifikatoren
tauscht die Inhalte aus
(öffentliche Elementfunktion)

Konstanten

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. Es werden keine Übereinstimmungen 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 Konstruktion. 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 Variationen, sodass std :: regex ( "meow" , std :: regex :: icase ) äquivalent ist zu std :: regex ( "meow" , std :: regex :: ECMAScript | std :: regex :: icase ) .

Die Member-Konstanten in basic_regex sind Duplikate der syntax_option_type Konstanten, die im Namespace std::regex_constants definiert sind.

Nicht-Member-Funktionen

spezialisiert den std::swap Algorithmus
(Funktions-Template)

Deduction guides (seit C++17)