Freigeben über


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