regex_constants namespace
Namespace para sinalizadores de expressão regular.
Sintaxe
namespace regex_constants {
enum syntax_option_type;
enum match_flag_type;
enum error_type;
}
Comentários
O namespace regex_constants
encapsula vários tipos de sinalizador e seus valores de sinalizador associados.
Nome | Descrição |
---|---|
error_type | Sinalizadores para relatar erros de sintaxe de expressão regular. |
match_flag_type | Sinalizadores para opções de correspondência de expressões regulares. |
syntax_option_type | Sinalizadores para a seleção de opções de sintaxe. |
Requisitos
Cabeçalho:<regex>
Namespace: std
regex_constants::error_type
Sinalizadores para relatar erros de sintaxe de expressão regular.
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
};
Comentários
O tipo é um tipo enumerado que descreve um objeto que pode conter sinalizadores de erro. Os valores de sinalizador distintos são:
error_backref
-- a expressão continha uma referência inversa inválida
error_badbrace
-- a expressão continha uma contagem inválida em uma expressão { }
error_badrepeat
-- uma expressão de repetição (um de '*', '', '+', '{' na maioria dos contextos) não era precedida por uma expressão
error_brace
-- a expressão continha um '{' ou '}' sem correspondência
error_brack
-- a expressão continha um '[' ou ']' sem correspondência
error_collate
-- a expressão continha um nome de elemento de agrupamento inválido
error_complexity
-- uma tentativa de correspondência falhou porque ela era muito complexa
error_ctype
-- a expressão continha um nome de classe de caractere inválido
error_escape
-- a expressão continha uma sequência de escape inválida
error_paren
-- a expressão continha um '(' ou ')' sem correspondência
error_parse
-- a expressão falhou durante a análise
error_range
-- a expressão continha um especificador de intervalo de caracteres inválidos
error_space
-- falha ao analisar uma expressão regular, pois não havia recursos suficientes disponíveis
error_stack
-- uma tentativa de correspondência falhou porque não havia memória suficiente disponível
error_syntax
-- falha ao analisar um erro de sintaxe
error_backref
-- a expressão continha uma referência inversa inválida
regex_constants::match_flag_type
Sinalizadores para opções de correspondência de expressões regulares.
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
};
Comentários
O tipo é um tipo de máscara de bits que descreve as opções a serem usadas ao corresponder uma sequência de texto em uma expressão regular e os sinalizadores de formato a serem usados ao substituir o texto. As opções podem ser combinadas com |
.
As opções de correspondência são:
match_default
match_not_bol
-- não trate a primeira posição na sequência de destino como o início de uma linha
match_not_eol
-- não trate a posição após o fim na sequência de destino como o fim de uma linha
match_not_bow
-- não trate a primeira posição na sequência de destino como o início de uma palavra
match_not_eow
-- não trate a posição após o fim na sequência de destino como o fim de uma palavra
match_any
-- se mais de uma correspondência for possível, qualquer correspondência será aceitável
match_not_null
-- não trate uma subsequência vazia como uma correspondência
match_continuous
-- não pesquise correspondências diferentes no início da sequência de destino
match_prev_avail
-- --first
é um iterador válido; ignore match_not_bol
e match_not_bow
se definido
Os sinalizadores de formato são:
format_default
-- use as regras de formato de ECMAScript
format_sed
-- use regras no formato sed
format_no_copy
-- não copie texto que não corresponde à expressão regular
format_first_only
-- não pesquise correspondências depois da primeira
regex_constants::syntax_option_type
Sinalizadores para a seleção de opções de sintaxe.
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
};
Comentários
O tipo é um tipo de máscara de bits que descreve os especificadores de linguagem e modificadores de sintaxe a serem usados ao compilar uma expressão regular. As opções podem ser combinadas com |
. Apenas um especificador de linguagem deve ser usado por vez.
Os especificadores de linguagem são:
ECMAScript
-- compilar como ECMAScript
basic
-- compilar como BRE
extended
-- compilar como ERE
awk
-- compilar como awk
grep
-- compilar como grep
egrep
-- compilar como egrep
Os modificadores de sintaxe são:
icase
-- fazer as correspondências não diferenciarem maiúsculas de minúsculas
nosubs
-- a implementação não precisa manter o controle do conteúdo de grupos de captura
optimize
-- a implementação deve enfatizar a velocidade de correspondência em vez da velocidade de compilação da expressão regular
collate
-- faz as correspondências distinguirem localidades
Confira também
<regex>
Classe regex_error
Funções <regex>
Classe regex_iterator
Operadores <regex>
Classe regex_token_iterator
Classe regex_traits
<regex> typedefs