Spazio dei nomi regex_constants
Spazio dei nomi per i flag dell'espressione regolare.
Sintassi
namespace regex_constants {
enum syntax_option_type;
enum match_flag_type;
enum error_type;
}
Osservazioni:
Lo spazio dei nomi regex_constants
incapsula molti tipi di flag e i valori dei relativi flag associati.
Nome | Descrizione |
---|---|
error_type | Indicatori per segnalare errori di sintassi di espressione regolare. |
match_flag_type | Flag per opzioni di corrispondenza delle espressioni regolari. |
syntax_option_type | Flag per selezionare le opzioni di sintassi. |
Requisiti
Header:<regex>
Spazio dei nomi: std
regex_constants::error_type
Indicatori per segnalare errori di sintassi di espressione regolare.
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
};
Osservazioni:
Il tipo è un tipo enumerato che descrive un oggetto che può contenere flag di errore. I valori flag distinti sono:
error_backref
-- l'espressione contiene un backreference non valido
error_badbrace
-- l'espressione contiene un numero non valido in un'espressione { }
error_badrepeat
-- un'espressione di ripetizione (uno tra '*', '', '+', '{' nella maggior parte dei contesti) non può essere preceduta da un'espressione
error_brace
-- l'espressione contiene una mancata corrispondenza di '{' o '}'
error_brack
-- l'espressione contiene una mancata corrispondenza di '[' o ']'
error_collate
-- l'espressione contiene un nome di elemento di collazione non valido
error_complexity
-- una corrispondenza effettuata è fallita perché era troppo complessa
error_ctype
-- l'espressione contiene un nome della classe di carattere non valido
error_escape
-- l'espressione contiene una sequenza di escape non valida
error_paren
-- l'espressione contiene una mancata corrispondenza di '(' o ')'
error_parse
-- analisi dell'espressione non riuscita
error_range
-- l'espressione contiene un identificatore di intervallo di carattere non valido
error_space
-- l'analisi di un'espressione regolare è fallita perché non erano disponibili risorse sufficienti
error_stack
-- una corrispondenza effettuata è fallita perché non era disponibile memoria sufficiente
error_syntax
-- l'analisi è fallita per un errore di sintassi
error_backref
-- l'espressione contiene un backreference non valido
regex_constants::match_flag_type
Flag per opzioni di corrispondenza delle espressioni regolari.
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
};
Osservazioni:
Il tipo è un tipo di maschera di bit che descrive le opzioni da usare quando esiste una corrispondenza tra una sequenza di testo e un'espressione regolare e i flag di formato da usare quando si sostituisce il testo. Le opzioni possono essere usate in combinazione con |
.
Le opzioni di corrispondenza sono:
match_default
match_not_bol
-- non considerare la prima posizione nella sequenza di destinazione come inizio di una riga
match_not_eol
-- non considerare la posizione successiva nella sequenza di destinazione come fine di una riga
match_not_bow
-- non considerare la prima posizione nella sequenza di destinazione come inizio di una parola
match_not_eow
-- non considerare la posizione successiva nella sequenza di destinazione come fine di una parola
match_any
-- se più corrispondenze sono possibili, qualsiasi corrispondenza è accettabile
match_not_null
-- non considerare una sottosequenza vuota come corrispondenza
match_continuous
-- non cercare corrispondenze se non quelle all'inizio della sequenza di destinazione
match_prev_avail
-- --first
è un iteratore valido; ignorare match_not_bol
e match_not_bow
, se impostati
I flag di formato sono:
format_default
-- usare le regole dei formati ECMAScript
format_sed
-- usare le regole dei formati sed
format_no_copy
-- non copiare testo che non corrisponde all'espressione regolare
format_first_only
-- non cercare corrispondenze dopo la prima
regex_constants::syntax_option_type
Flag per selezionare le opzioni di sintassi.
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
};
Osservazioni:
Il tipo è un tipo di maschera di bit che descrive gli identificatori di lingua e i modificatori di sintassi da usare durante la compilazione di un'espressione regolare. Le opzioni possono essere usate in combinazione con |
. Non deve essere usato più di un identificatore di lingua per volta.
Gli identificatori di lingua sono:
ECMAScript
-- compilare come ECMAScript
basic
-- compilare come BRE
extended
-- compilare come ERE
awk
-- compilare come awk
grep
-- compilare come grep
egrep
-- compilare come egrep
I modificatori di sintassi sono:
icase
-- rendere le corrispondenze senza distinzione tra maiuscole e minuscole
nosubs
-- l'implementazione non deve tenere traccia del contenuto dei gruppi Capture
optimize
-- l'implementazione deve evidenziare la velocità della corrispondenza anziché la velocità di compilazione delle espressioni regolari
collate
-- rendere le corrispondenze collegate alle impostazioni locali
Vedi anche
<regex>
Classe regex_error
<funzioni regex>
Classe regex_iterator
<Operatori regex>
Classe regex_token_iterator
Classe regex_traits
<typedef regex>