Espacios de nombres
Variantes
Acciones

std::basic_regex constants

De cppreference.com
< cpp‎ | regex‎ | basic regex
 
 
Biblioteca de expresiones regulares
Clases
(C++11)
Algoritmos
Iteradores
Excepciones
Rasgos
Constantes
(C++11)
Gramática de las expresiones regulares
 
 
Definido en el archivo de encabezado <regex>
static constexpr std::regex_constants::syntax_option_type icase =

    std::regex_constants::icase;
static constexpr std::regex_constants::syntax_option_type nosubs =
    std::regex_constants::nosubs;
static constexpr std::regex_constants::syntax_option_type optimize =
    std::regex_constants::optimize;
static constexpr std::regex_constants::syntax_option_type collate =
    std::regex_constants::collate;
static constexpr std::regex_constants::syntax_option_type ECMAScript =
    std::regex_constants::ECMAScript;
static constexpr std::regex_constants::syntax_option_type basic =
    std::regex_constants::basic;
static constexpr std::regex_constants::syntax_option_type extended =
    std::regex_constants::extended;
static constexpr std::regex_constants::syntax_option_type awk =
    std::regex_constants::awk;
static constexpr std::regex_constants::syntax_option_type grep =
    std::regex_constants::grep;
static constexpr std::regex_constants::syntax_option_type egrep =

    std::regex_constants::egrep;
(desde C++17)

std::basic_regex define varias constantes que gobiernan la sintaxis general de coincidencia de las expresiones regulares.

Estas constantes están duplicadas de std::regex_constants:

Valor Efecto(s)
icase La coincidencia de caracteres debe realizarse sin tener en cuenta las mayúsculas o minúsculas.
nosubs Al realizar coincidencias, todas las subexpresiones marcadas (expr) se tratan como subexpresiones que no dejan marcas (?:expr). No se almacenan coincidencias en la estructura std::regex_match suministrada y mark_count() es cero.
optimize Indica al motor de expresiones regulares que acelere la coincidencia, con el costo potencial de hacer que la construcción sea más lenta. Por ejemplo, esto podría significar convertir un autómata de estado finito no determinista en un autómata de estado finito determinista.
collate Los rangos de caracteres de la forma "[a-b]" serán sensibles a la configuración regional.
multiline (C++17) Especifica que ^ coincidirá con el comienzo de una línea y $ coincidirá con el final de una línea, si se selecciona el motor ECMAScript.
ECMAScript Utilizar la Gramática modificada de expresiones regulares de ECMAScript
basic Utilizar la gramática básica de expresiones regulares POSIX (documentación de la gramática).
extended Utilizar la gramática extendida de expresiones regulares POSIX (documentación de la gramática).
awk Utilizar la gramática de expresiones regulares utilizada por la función de utilería awk en POSIX (documentación de la gramática)
grep Utilizar la gramática de expresiones regulares utilizada por la función de utilería grep en POSIX. Esto es efectivamente lo mismo que la opción basic con la adición de una nueva línea '\n' como separador de alternancia.
egrep Utilizar la gramática de expresiones regulares utilizada por la función de utilería grep, con la opción -E, en POSIX. Esto es efectivamente lo mismo que la opción extended con la adición de una nueva línea '\n' como separador de alternancia además de '|'.

A lo sumo debe elegirse una opción de gramática de ECMAScript, basic, extended, awk, grep, egrep. Si no se elige una gramática, se supone que ECMAScript está seleccionada. Las otras opciones sirven como modificadores, de modo que std::regex("miau", std::regex::icase) es equivalente a std::regex("miau", std::regex::ECMAScript|std::regex::icase).

[editar] Véase también

Opciones generales para controlar el comportamiento de las expresiones regulares.
(typedef) [editar]