Namensräume
Varianten
Aktionen

std::basic_regex

Von cppreference.com
< cpp‎ | regex
 
 
 
Bibliothek für reguläre Ausdrücke
Klassen
basic_regex
(C++11)
(C++11)
Algorithmen
Iteratoren
Ausnahmen
Traits
Konstanten
(C++11)
Reguläre Ausdrucksgrammatiken
 
 
Definiert in Header <regex>
template<

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

> class basic_regex;
(seit C++11)

Die Klassenschablone basic_regex bietet einen allgemeinen Rahmen zum Speichern von regulären Ausdrücken.

Mehrere Typedefs für gängige Zeichentypen werden bereitgestellt

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

Inhalt

[bearbeiten] Member types

Mitgliedertyp 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

[bearbeiten] Member functions

konstruiert das Regex-Objekt
(public member function) [bearbeiten]
destruiert das Regex-Objekt
(public member function) [bearbeiten]
weist den Inhalt zu
(public member function) [bearbeiten]
weist den Inhalt zu
(public member function) [bearbeiten]
Observer
gibt die Anzahl der markierten Unterausdrücke im regulären Ausdruck zurück
(public member function) [bearbeiten]
gibt die Syntax-Flags zurück
(public member function) [bearbeiten]
Locale
ruft Locale-Informationen ab
(public member function) [bearbeiten]
setzt Locale-Informationen
(public member function) [bearbeiten]
Modifizierer
tauscht die Inhalte
(public member function) [bearbeiten]

Konstanten

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 Abgleichen werden alle markierten Unterausdrücke (expr) als nicht-markierende Unterausdrücke (?:expr) behandelt. Es werden keine Treffer 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.

Es kann höchstens eine Grammatik-Option aus ECMAScript, basic, extended, awk, grep, egrep gewählt werden. Wenn keine Grammatik gewählt wird, wird ECMAScript angenommen. Die anderen Optionen dienen als Varianten, so dass std::regex("meow", std::regex::icase) äquivalent ist zu std::regex("meow", std::regex::ECMAScript|std::regex::icase).

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

[bearbeiten] Non-member functions

spezialisiert den Algorithmus std::swap
(function template) [bearbeiten]

[bearbeiten] Deduction guides(seit C++17)