Udostępnij za pośrednictwem


regex_constants, przestrzeń nazw

Przestrzeń nazw dla flag wyrażenia regularnego.

Składnia

namespace regex_constants {
    enum syntax_option_type;
    enum match_flag_type;
    enum error_type;
}

Uwagi

Przestrzeń nazw regex_constants hermetyzuje kilka typów flag i skojarzonych z nimi wartości flag.

Nazwa/nazwisko opis
error_type Flagi raportowania błędów składni wyrażeń regularnych.
match_flag_type Flagi dla opcji dopasowywania wyrażeń regularnych.
syntax_option_type Flagi wybierania opcji składni.

Wymagania

Nagłówek:<regex>

Przestrzeń nazw: std

regex_constants::error_type

Flagi raportowania błędów składni wyrażeń regularnych.

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
    };

Uwagi

Typ jest wyliczonym typem opisujący obiekt, który może zawierać flagi błędów. Unikatowe wartości flagi to:

error_backref -- wyrażenie zawiera nieprawidłowe odwołanie wsteczne

error_badbrace -- wyrażenie zawiera nieprawidłową liczbę w wyrażeniu { }

error_badrepeat -- wyrażenie powtórzenia (jedno z "*", "+", "+", "{" w większości kontekstów) nie było poprzedzone wyrażeniem

error_brace -- wyrażenie zawiera niedopasowane '{' lub '}'

error_brack -- wyrażenie zawierało niedopasowane wyrażenie "[" lub "]"

error_collate -- wyrażenie zawiera nieprawidłową nazwę elementu sortowania

error_complexity — próba dopasowania nie powiodła się, ponieważ była zbyt złożona

error_ctype -- wyrażenie zawiera nieprawidłową nazwę klasy znaków

error_escape - wyrażenie zawiera nieprawidłową sekwencję ucieczki

error_paren -- wyrażenie zawierało niedopasowane wyrażenie "(" lub ")"

error_parse -- wyrażenie nie może przeanalizować

error_range -- wyrażenie zawierało nieprawidłowy specyfikator zakresu znaków

error_space — analizowanie wyrażenia regularnego nie powiodło się, ponieważ nie było wystarczającej ilości dostępnych zasobów

error_stack — próba dopasowania nie powiodła się, ponieważ nie było wystarczającej ilości dostępnej pamięci

error_syntax -- Analizowanie nie powiodło się w przypadku błędu składni

error_backref -- wyrażenie zawiera nieprawidłowe odwołanie wsteczne

regex_constants::match_flag_type

Flagi dla opcji dopasowywania wyrażeń regularnych.

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
    };

Uwagi

Typ to typ maski bitowej, który opisuje opcje, które mają być używane podczas dopasowywania sekwencji tekstu do wyrażenia regularnego i flag formatu, które mają być używane podczas zastępowania tekstu. Opcje można łączyć z |.

Dostępne są następujące opcje dopasowania:

match_default

match_not_bol -- nie traktuj pierwszej pozycji w sekwencji docelowej jako początku wiersza

match_not_eol -- nie traktuj pozycji przeszłości-the-end w sekwencji docelowej jako końca wiersza

match_not_bow -- nie traktuj pierwszej pozycji w sekwencji docelowej jako początku słowa

match_not_eow -- nie traktuj pozycji przeszłości-the-end w sekwencji docelowej jako końca wyrazu

match_any -- jeśli możliwe jest więcej niż jedno dopasowanie, to dopasowanie jest dopuszczalne

match_not_null -- nie traktuj pustej podsekwencjonowania jako dopasowania

match_continuous -- nie wyszukuje dopasowań innych niż na początku sekwencji docelowej

match_prev_avail -- --first jest prawidłowym iteratorem; ignoruj match_not_bol i match_not_bow w przypadku ustawienia

Flagi formatu to:

format_default — używanie reguł formatu ECMAScript

format_sed — użyj reguł formatu sed

format_no_copy -- nie kopiuj tekstu, który nie jest zgodny z wyrażeniem regularnym

format_first_only -- nie wyszukuje dopasowań po pierwszym

regex_constants::syntax_option_type

Flagi wybierania opcji składni.

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
    };

Uwagi

Typ jest typem maski bitowej, który opisuje specyfikatory języka i modyfikatory składni, które mają być używane podczas kompilowania wyrażenia regularnego. Opcje można łączyć z |. Nie należy jednocześnie używać więcej niż jednego specyfikatora języka.

Specyfikatory języka to:

ECMAScript -- skompiluj jako ECMAScript

basic -- skompiluj jako BRE

extended -- skompiluj jako ERE

awk — kompilowanie jako awk

grep - skompiluj jako grep

egrep -- kompilowanie jako egrep

Modyfikatory składni to:

icase -- dopasowuje wielkość liter bez uwzględniania wielkości liter

nosubs — implementacja nie musi śledzić zawartości grup przechwytywania

optimize — implementacja powinna podkreślać szybkość dopasowywania, a nie szybkość kompilacji wyrażeń regularnych

collate -- make matches-sensitive (Ustaw ustawienia regionalne na ustawienia regionalne)

Zobacz też

<regex>
regex_error, klasa
<funkcje wyrażenia regularnego>
regex_iterator, klasa
<Operatory wyrażenia> regularnego
regex_token_iterator, klasa
regex_traits, klasa
<definicje typów wyrażeń> regularnych