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