Compartir vía


regex_constants (Espacio de nombres)

Espacio de nombres para las marcas de expresiones regulares.

Sintaxis

namespace regex_constants {
    enum syntax_option_type;
    enum match_flag_type;
    enum error_type;
}

Comentarios

El espacio de nombres regex_constants encapsula varios tipos de marca y sus valores de marca asociados.

Nombre Descripción
error_type Marcas para notificar errores de sintaxis de expresión regular.
match_flag_type Marcadores para las opciones de coincidencia de expresión regular.
syntax_option_type Marcas para seleccionar las opciones de sintaxis.

Requisitos

Encabezado:<regex>

Espacio de nombres: std

regex_constants::error_type

Marcas para notificar errores de sintaxis de expresión 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
    };

Comentarios

El tipo es un tipo enumerado que describe un objeto que puede contener marcadores de error. Los diferentes valores de marca son:

error_backref: la expresión contenía una referencia inversa no válida

error_badbrace: la expresión contenía un recuento no válido en una expresión { }

error_badrepeat: una expresión de repetición (uno de "*", '', "+", "{" en la mayoría de los contextos) no estaba precedida por una expresión

error_brace: la expresión contenía un "{" o un "}" desemparejado

error_brack: la expresión contenía un "[" o un "]" desemparejado

error_collate: la expresión contenía un nombre de elemento de intercalación no válido

error_complexity: error en intento de coincidencia porque era demasiado compleja

error_ctype: la expresión contenía un nombre de clase de carácter no válido

error_escape: la expresión contenía una secuencia de escape no válido

error_paren: la expresión contenía un "(" o un ")" desemparejado

error_parse: la expresión no se pudo analizar

error_range: la expresión contenía un especificador de rango de carácter no válido

error_space: error al analizar una expresión regular porque no había suficientes recursos disponibles

error_stack: error en intento de coincidencia porque no había suficiente memoria disponible

error_syntax: error en el análisis de un error de sintaxis

error_backref: la expresión contenía una referencia inversa no válida

regex_constants::match_flag_type

Marcadores para las opciones de coincidencia de expresión regular.

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

Comentarios

El tipo es un tipo de máscara de bits que describe las opciones que se van a usar al buscar coincidencias entre una secuencia de texto y una expresión regular, así como las marcas de formato que se usarán al reemplazar texto. Las opciones pueden combinarse con |.

Las opciones de coincidencia son las siguientes:

match_default

match_not_bol: no tratar la primera posición de la secuencia de destino como el principio de una línea

match_not_eol: no tratar la posición más allá del final de la secuencia de destino como el final de una línea

match_not_bow: no tratar la primera posición de la secuencia de destino como el principio de una palabra

match_not_eow: no tratar la posición más allá del final de la secuencia de destino como el final de una palabra

match_any: si se permite más de una coincidencia, cualquier coincidencia es aceptable

match_not_null: no tratar una subsecuencia vacía como una coincidencia

match_continuous: solo buscar coincidencias en el principio de la secuencia de destino

match_prev_avail -- --first es un iterador válido; omitir las opciones match_not_bol y match_not_bow si están establecidas

Las marcas de formato son las siguientes:

format_default: usar reglas de formato de ECMAScript

format_sed: usar reglas de formato usadas

format_no_copy: no copiar texto que no coincide con la expresión regular

format_first_only: no buscar coincidencias después de la primera

regex_constants::syntax_option_type

Marcas para seleccionar las opciones de sintaxis.

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

Comentarios

El tipo es un tipo de máscara de bits que describe los especificadores de idioma y los modificadores de sintaxis que se usarán al compilar una expresión regular. Las opciones pueden combinarse con |. Debe usarse un especificador de idioma a la vez.

Los especificadores de idioma son:

ECMAScript: compila como ECMAScript

basic: compila como BRE

extended: compila como ERE

awk: compila como awk

grep: compila como grep

egrep: compila como egrep

Los modificadores de sintaxis son los siguientes:

icase: genera coincidencias sin distinción entre mayúsculas y minúsculas

nosubs: no es necesario que la implementación haga un seguimiento de los contenidos de los grupos de captura

optimize: la implementación debe dar prioridad a la velocidad de coincidencia, en lugar de la velocidad de compilación de expresiones regulares

collate: genera coincidencias dependientes de la configuración regional

Consulte también

<regex>
regex_error (Clase)
<regex> functions
regex_iterator (Clase)
<regex> operators
regex_token_iterator (Clase)
regex_traits (Clase)
<regex> typedefs