Partilhar via


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

Observações

O namespace encapsula vários tipos de sinalizador e seus valores de sinalizador regex_constants associados.

Nome Description
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 selecionar opções de sintaxe.

Requerimentos

Cabeçalho:<regex>

Espaço de nomes: 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
    };

Observações

O tipo é um tipo enumerado que descreve um objeto que pode conter sinalizadores de erro. Os valores distintos do sinalizador são:

error_backref -- a expressão continha uma referência inválida

error_badbrace -- a expressão continha uma contagem inválida em uma expressão { }

error_badrepeat -- uma expressão repetida (uma de '*', '', '+', '{' na maioria dos contextos) não foi precedida por uma expressão

error_brace -- a expressão continha um '{' ou '}' incomparável

error_brack -- a expressão continha um incomparável «[» ou «]»

error_collate -- a expressão continha um nome de elemento de agrupamento inválido

error_complexity -- uma tentativa de jogo falhou porque era demasiado 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 incomparável '(' ou ')'

error_parse -- a expressão não foi analisada

error_range -- a expressão continha um especificador de intervalo de caracteres inválido

error_space -- a análise de uma expressão regular falhou porque 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 na análise em um erro de sintaxe

error_backref -- a expressão continha uma referência 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
    };

Observações

O tipo é um tipo de máscara de bits que descreve as opções a serem usadas ao fazer a correspondência de uma sequência de texto com uma expressão regular e sinalizadores de formato a serem usados ao substituir 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 alvo como o início de uma linha

match_not_eol -- não trate a posição passado-a-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 alvo como o início de uma palavra

match_not_eow -- não trate a posição passado-a-fim na sequência de destino como o fim de uma palavra

match_any -- se for possível mais do que uma correspondência, qualquer correspondência é aceitável

match_not_null -- não trate uma subsequência vazia como uma correspondência

match_continuous -- não procure correspondências a não ser no início da sequência de destino

match_prev_avail -- --first é um iterador válido; ignorar match_not_bol e match_not_bow se definido

Os sinalizadores de formato são:

format_default -- usar regras de formato ECMAScript

format_sed -- usar regras de formato sed

format_no_copy -- não copie texto que não corresponda à expressão regular

format_first_only -- não procure correspondências após a primeira

regex_constants::syntax_option_type

Sinalizadores para selecionar 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
    };

Observações

O tipo é um tipo de máscara de bits que descreve especificadores de linguagem e modificadores de sintaxe a serem usados ao compilar uma expressão regular. As opções podem ser combinadas com |. Não deve ser utilizado mais do que um especificador linguístico de cada vez.

Os especificadores linguísticos 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 correspondências sem diferenciação de maiúsculas e minúsculas

nosubs -- a implementação não precisa acompanhar o conteúdo dos grupos de captura

optimize -- a implementação deve enfatizar a velocidade de correspondência em vez da velocidade de compilação de expressões regulares

collate -- tornar as correspondências sensíveis à localidade

Consulte também

<regex>
regex_error Classe
<funções regex>
regex_iterator Classe
<Operadores Regex>
Classe regex_token_iterator
regex_traits Classe
<Regex> TypeDefs