Namespaces
Variants

std:: basic_regex

From cppreference.net
Regular expressions library
Classes
basic_regex
(C++11)
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Definido en el encabezado <regex>
template <

class CharT,
class Traits = std:: regex_traits < CharT >

> class basic_regex ;
(desde C++11)

La plantilla de clase basic_regex proporciona un marco general para contener expresiones regulares.

Se proporcionan varios typedefs para tipos de caracteres comunes:

Definido en el encabezado <regex>
Tipo Definición
std::regex std :: basic_regex < char >
std::wregex std :: basic_regex < wchar_t >

Contenidos

Tipos de miembros

Tipo de miembro Definición
value_type CharT
traits_type Traits
string_type Traits::string_type
locale_type Traits::locale_type
flag_type std::regex_constants::syntax_option_type

Funciones miembro

construye el objeto regex
(función miembro pública)
destruye el objeto regex
(función miembro pública)
asigna los contenidos
(función miembro pública)
asigna los contenidos
(función miembro pública)
Observadores
devuelve el número de subexpresiones marcadas dentro de la expresión regular
(función miembro pública)
devuelve los indicadores de sintaxis
(función miembro pública)
Configuración regional
obtener información de configuración regional
(función miembro pública)
establecer información de configuración regional
(función miembro pública)
Modificadores
intercambia los contenidos
(función miembro pública)

Constantes

Opción de gramática Efecto(s)
ECMAScript Utiliza la gramática de expresiones regulares ECMAScript modificada .
basic Utiliza la gramática de expresiones regulares POSIX básica ( documentación de gramática ).
extended Utiliza la gramática de expresiones regulares POSIX extendida ( 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 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 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 FSA no determinista en un FSA 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 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 ) .

Las constantes de miembro en basic_regex son duplicados de las constantes syntax_option_type definidas en el espacio de nombres std::regex_constants .

Funciones no miembro

especializa el algoritmo std::swap
(plantilla de función)

Guías de deducción (desde C++17)