std::basic_regex
Von cppreference.com
| Definiert in Header <regex> |
||
| template< class CharT, |
(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) | |
| destruiert das Regex-Objekt (public member function) | |
| weist den Inhalt zu (public member function) | |
| weist den Inhalt zu (public member function) | |
Observer | |
| gibt die Anzahl der markierten Unterausdrücke im regulären Ausdruck zurück (public member function) | |
| gibt die Syntax-Flags zurück (public member function) | |
Locale | |
| ruft Locale-Informationen ab (public member function) | |
| setzt Locale-Informationen (public member function) | |
Modifizierer | |
| tauscht die Inhalte (public member function) | |
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
| (C++11) |
spezialisiert den Algorithmus std::swap (function template) |