std:: basic_regex
|
Definiert im Header
<regex>
|
||
|
template
<
class
CharT,
|
(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
|
(C++11)
|
spezialisiert den
std::swap
Algorithmus
(Funktions-Template) |