Namespaces
Variants

std:: basic_regex constants

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Definido en el 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 expresiones regulares.

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

Opción de gramática Efecto(s)
ECMAScript Utiliza la gramática de expresiones regulares ECMAScript modificada .
basic Utiliza la gramática básica de expresiones regulares POSIX ( documentación de gramática ).
extended Utiliza la gramática extendida de expresiones regulares POSIX ( documentación de gramática ).
awk Utiliza la gramática de expresiones regulares empleada por la utilidad awk en POSIX ( documentación de gramática ).
grep Utiliza la gramática de expresiones regulares empleada por la utilidad grep en POSIX. Esto es efectivamente igual que la opción basic con la adición del carácter de nueva línea ' \n ' como separador de alternancia.
egrep Utiliza la gramática de expresiones regulares empleada por la utilidad grep con la opción -E en POSIX. Esto es efectivamente igual que la opción extended con la adición del carácter de nueva línea ' \n ' como separador de alternancia además de '|' .
Variación de gramática Efecto(s)
icase La coincidencia de caracteres debe realizarse sin distinguir entre mayúsculas y minúsculas.
nosubs Al realizar coincidencias, todas las subexpresiones marcadas ( expr ) se tratan como subexpresiones no marcadoras (?: 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 ralentizar la construcción. Por ejemplo, esto podría significar convertir un AFN en un AFD.
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 inicio de una línea y $ coincidirá con el final de una línea, si se selecciona el motor ECMAScript.

Como máximo se puede elegir una opción de gramática entre ECMAScript , basic , extended , awk , grep , egrep . Si no se elige ninguna gramática, ECMAScript se asume como seleccionada. Las otras opciones sirven como variaciones, de modo que std:: regex ( "meow" , std :: regex :: icase ) es equivalente a std:: regex ( "meow" , std :: regex :: ECMAScript | std :: regex :: icase ) .

Véase también

opciones generales que controlan el comportamiento de regex
(typedef)