regex_constants-Namespace
Namespace für Flags für reguläre Ausdrücke.
Syntax
namespace regex_constants {
enum syntax_option_type;
enum match_flag_type;
enum error_type;
}
Hinweise
Der Namespace regex_constants
kapselt mehrere Flagtypen und ihre zugeordneten Flagwerte.
Name | Beschreibung |
---|---|
error_type | Flags für die Berichterstellung bei Syntaxfehlern für reguläre Ausdrücke. |
match_flag_type | Flags für Optionen zum Vergleichen regulärer Ausdrücke. |
syntax_option_type | Flags zum Auswählen von Syntaxoptionen. |
Anforderungen
Header:<regex>
Namespace: std
regex_constants::error_type
Flags für die Berichterstellung bei Syntaxfehlern für reguläre Ausdrücke.
enum error_type
{ // identify error
error_collate,
error_ctype,
error_escape,
error_backref,
error_brack,
error_paren,
error_brace,
error_badbrace,
error_range,
error_space,
error_badrepeat,
error_complexity,
error_stack,
error_parse,
error_syntax
};
Hinweise
Der Typ ist ein enumerierter Typ, der ein Objekt beschreibt, das Fehlerflags aufnehmen kann. Die unterschiedlichen Flagwerte sind:
error_backref
: Der Ausdruck enthielt einen ungültigen Rückverweis.
error_badbrace
: Der Ausdruck enthielt eine ungültige Anzahl in einem {}-Ausdruck.
error_badrepeat
: Einem Wiederholungsausdruck (in den meisten Kontexten einer von „*“, „“, „+“, „{“) wurde kein Ausdruck vorangestellt.
error_brace
: Der Ausdruck enthielt eine nicht übereinstimmende Anzahl von „{' or '}“.
error_brack
: Der Ausdruck enthielt eine nicht übereinstimmende Anzahl von „[' or ']“.
error_collate
: Der Ausdruck enthielt einen ungültigen Sortierungselementnamen.
error_complexity
: Bei einem versuchten Vergleich ist ein Fehler aufgetreten, da dieser zu komplex war.
error_ctype
: Der Ausdruck enthielt einen ungültigen Zeichenklassennamen.
error_escape
: Der Ausdruck enthielt eine ungültige Escapesequenz.
error_paren
: Der Ausdruck enthielt eine nicht übereinstimmende Anzahl von „(' or ')“.
error_parse
: Der Ausdruck konnte nicht analysiert werden.
error_range
: Der Ausdruck enthielt einen ungültigen Zeichenbereichsbezeichner.
error_space
: Beim Analysieren eines regulären Ausdrucks ist ein Fehler aufgetreten, da nicht ausreichend Ressourcen verfügbar waren.
error_stack
: Bei einem versuchten Vergleich ist ein Fehler aufgetreten, da nicht ausreichend Arbeitsspeicher verfügbar war.
error_syntax
: Beim Analysieren eines Syntaxfehler ist ein Fehler aufgetreten.
error_backref
: Der Ausdruck enthielt einen ungültigen Rückverweis.
regex_constants::match_flag_type
Flags für Optionen zum Vergleichen regulärer Ausdrücke.
enum match_flag_type
{ // specify matching and formatting rules
match_default = 0x0000,
match_not_bol = 0x0001,
match_not_eol = 0x0002,
match_not_bow = 0x0004,
match_not_eow = 0x0008,
match_any = 0x0010,
match_not_null = 0x0020,
match_continuous = 0x0040,
match_prev_avail = 0x0100,
format_default = 0x0000,
format_sed = 0x0400,
format_no_copy = 0x0800,
format_first_only = 0x1000,
_Match_not_null = 0x2000
};
Hinweise
Der Typ ist eine „Bitmaske“, die Optionen für den Vergleich einer Textsequenz mit einem regulären Ausdruck und Formatflags beschreibt, die beim Ersetzen von Text verwendet werden. Optionen können mit |
kombiniert werden.
Vergleichsoptionen:
match_default
match_not_bol
: Die erste Position in der Zielsequenz nicht als Zeilenanfang behandeln.
match_not_eol
: Die „past-the-end“-Position in der Zielsequenz nicht als Zeilenende behandeln.
match_not_bow
: Die erste Position in der Zielsequenz nicht als Wortanfang behandeln.
match_not_eow
: Die „past-the-end“-Position in der Zielsequenz nicht als Wortende behandeln.
match_any
: Wenn mehr als eine Übereinstimmung möglich ist, kann jede Übereinstimmung akzeptiert werden.
match_not_null
: Eine leere Untersequenz nicht als Übereinstimmung behandeln.
match_continuous
: Nur am Anfang der Zielsequenz nach Übereinstimmungen suchen.
match_prev_avail
-- --first
ist ein gültiger Iterator. Ignorieren Sie match_not_bol
und match_not_bow
, falls diese festgelegt sind.
Formatflags:
format_default
: ECMAScript-Formatierungsregeln verwenden
format_sed
: „sed“-Formatierungsregeln verwenden
format_no_copy
: keinen Text kopieren, der nicht mit dem regulären Ausdruck übereinstimmt
format_first_only
: nach der ersten Übereinstimmung nicht nach weiteren Übereinstimmungen suchen
regex_constants::syntax_option_type
Flags zum Auswählen von Syntaxoptionen.
enum syntax_option_type
{ // specify RE syntax rules
ECMAScript = 0x01,
basic = 0x02,
extended = 0x04,
awk = 0x08,
grep = 0x10,
egrep = 0x20,
_Gmask = 0x3F,
icase = 0x0100,
nosubs = 0x0200,
optimize = 0x0400,
collate = 0x0800
};
Hinweise
Der Typ ist ein Bitmaskentyp, der Sprachenspezifizierer und Syntaxmodifikatoren beschreibt, die beim Kompilieren eines regulären Ausdrucks verwendet werden sollen. Optionen können mit |
kombiniert werden. Es darf immer nur jeweils ein Sprachenspezifizierer verwendet werden.
Es gibt folgende Sprachenspezifizierer:
ECMAScript
: als ECMAScript kompilieren
basic
: als BRE kompilieren
extended
: als ERE kompilieren
awk
: als awk kompilieren
grep
: als grep kompilieren
egrep
: als egrep kompilieren
Es gibt folgende Syntaxmodifikatoren:
icase
: Beachtung der Groß-/Kleinschreibung für Übereinstimmungen aufheben
nosubs
: die Implementierung muss die Inhalte von Erfassungsgruppen nicht nachverfolgen
optimize
:die Implementierung muss mehr Wert auf die Geschwindigkeit der Übereinstimmung anstatt die Geschwindigkeit der Kompilierung regulärer Ausdrücke legen
collate
: für Übereinstimmungen soll Gebietsschema beachtet werden
Siehe auch
<regex>
regex_error-Klasse
<regex-Funktionen>
regex_iterator-Klasse
<regex-Operatoren>
regex_token_iterator-Klasse
regex_traits-Klasse
<regex> typedefs