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