Espacios de nombres
Variantes
Acciones

std::match_results

De cppreference.com
< cpp‎ | regex
 
 
Biblioteca de expresiones regulares
Clases
(C++11)
match_results
(C++11)
Algoritmos
Iteradores
Excepciones
Rasgos
Constantes
(C++11)
Gramática de las expresiones regulares
 
 
Definido en el archivo de encabezado <regex>
template<

    class BidirIt,
    class Alloc = std::allocator<std::sub_match<BidirIt>>

> class match_results;
(1) (desde C++11)
namespace pmr {

    template <class BidirIt>
    using match_results = std::match_results<BidirIt,
                              std::pmr::polymorphic_allocator<
                                  std::sub_match<BidirIt>>>;

}
(2) (desde C++17)

La plantilla de clase std::match_results mantiene una colección de secuencias de caracteres que representan el resultado de una coincidencia de expresión regular.

Este es un contenedor consciente de asignadores de memoria especializado. Solo puede crearse por defecto, obtenerse de std::regex_iterator, o modificarse mediante std::regex_search o std::regex_match. Ya que std::match_results mantiene objetos std::sub_match, cada uno de los cuales es un par de iteradores en la secuencia de caracteres original que se coincidió, es un comportamiento no definido examinar std::match_results si la secuencia de caracteres original se destruyó, o los iteradores se invalidaron por otras razones.

El primer objeto sub_match (con índice 0) contenido en un match_result siempre representa la coincidencia completa dentro de una secuencia de destino hecha por una expresión regular, y los sub_match subsiguientes representan las coincidencias de subexpresión que corresponden a la secuencia en el paréntesis izquierdo que delimita la subexpresión en la expresión regular.

std::match_results cumple con los requerimientos de un ContenedorConscienteDeAsignador y de un ContenedorDeSecuencia, excepto que solo se admiten la asignación de copia, la asignación de movimiento y las operaciones definidas para contenedores constantes, y que la semántica de las funciones de comparación sea diferente de las requeridas para un contenedor.

Contenido

[editar] Requerimientos de tipo

-
BidirIt debe satisfacer los requisitos de BidirectionalIterator.
-
Alloc debe satisfacer los requisitos de Allocator.

[editar] Especializaciones

Se proporcionan varias especializaciones para tipos de secuencia de caracteres comunes:

Definido en el archivo de encabezado <regex>
Tipo Definición
std::cmatch std::match_results<const char*>
std::wcmatch std::match_results<const wchar_t*>
std::smatch std::match_results<std::string::const_iterator>
std::wsmatch std::match_results<std::wstring::const_iterator>
std::pmr::cmatch (C++17) std::pmr::match_results<const char*>
std::pmr::wcmatch (C++17) std::pmr::match_results<const wchar_t*>
std::pmr::smatch (C++17) std::pmr::match_results<std::string::const_iterator>
std::pmr::wsmatch (C++17) std::pmr::match_results<std::wstring::const_iterator>

[editar] Tipos miembro

Tipo miembro Definición
allocator_type Allocator
value_type std::sub_match<BidirIt>
const_reference const value_type&
reference value_type&
const_iterator definido por la implementación (depende del contenedor subyacente)
iterator const_iterator
difference_type std::iterator_traits<BidirIt>::difference_type
size_type std::allocator_traits<Alloc>::size_type
char_type std::iterator_traits<BidirIt>::value_type
string_type std::basic_string<char_type>

[editar] Funciones miembro

Construye el objeto.
(función miembro pública) [editar]
Destruye el objeto.
(función miembro pública) [editar]
Asigna el contenido.
(función miembro pública) [editar]
Devuelve el asignador de memoria asociado.
(función miembro pública) [editar]
Estado
Verifica si los resultados están disponibles.
(función miembro pública)
Tamaño
Verifica si la coincidencia tuvo éxito.
(función miembro pública) [editar]
Devuelve el número de coincidencias en un estado de resultado consolidado plenamente.
(función miembro pública) [editar]
Devuelve el número máximo posible de subcoincidencias.
(función miembro pública) [editar]
Acceso a elementos
Devuelve la longitud de la subcoincidencia particular.
(función miembro pública) [editar]
Devuelve la posición del primer carácter de la subcoincidencia particular.
(función miembro pública) [editar]
Devuelve la secuencia de caracteres para la subcoincidencia particular.
(función miembro pública) [editar]
Devuelve la subcoincidencia especificada.
(función miembro pública) [editar]
Devuelve la subsecuencia entre el comienzo de la secuencia de destino y el comienzo de la coincidencia completa.
(función miembro pública) [editar]
Devuelve la subsecuencia entre el final de la coincidencia completa y el final de la secuencia de destino.
(función miembro pública) [editar]
Iteradores
Devuelve un iterador al principio de la lista de subcoincidencias.
(función miembro pública) [editar]
Devuelve un iterador al final de la lista de subcoincidencias.
(función miembro pública) [editar]
Formato
Formatea los resultados coincidentes para su emisión.
(función miembro pública) [editar]
Modificadores
Intercambia el contenido.
(función miembro pública) [editar]

[editar] Funciones no miembro

(eliminado en C++20)
Compara lexicográficamente los valores en los dos resultados de coincidencias.
(plantilla de función) [editar]
Especializa el algoritmo std::swap.
(plantilla de función) [editar]