std::match_results
Definido en el archivo de encabezado <regex>
|
||
template< class BidirIt, |
(1) | (desde C++11) |
namespace pmr { template <class 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) | |
Destruye el objeto. (función miembro pública) | |
Asigna el contenido. (función miembro pública) | |
Devuelve el asignador de memoria asociado. (función miembro pública) | |
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) | |
Devuelve el número de coincidencias en un estado de resultado consolidado plenamente. (función miembro pública) | |
Devuelve el número máximo posible de subcoincidencias. (función miembro pública) | |
Acceso a elementos | |
Devuelve la longitud de la subcoincidencia particular. (función miembro pública) | |
Devuelve la posición del primer carácter de la subcoincidencia particular. (función miembro pública) | |
Devuelve la secuencia de caracteres para la subcoincidencia particular. (función miembro pública) | |
Devuelve la subcoincidencia especificada. (función miembro pública) | |
Devuelve la subsecuencia entre el comienzo de la secuencia de destino y el comienzo de la coincidencia completa. (función miembro pública) | |
Devuelve la subsecuencia entre el final de la coincidencia completa y el final de la secuencia de destino. (función miembro pública) | |
Iteradores | |
Devuelve un iterador al principio de la lista de subcoincidencias. (función miembro pública) | |
Devuelve un iterador al final de la lista de subcoincidencias. (función miembro pública) | |
Formato | |
Formatea los resultados coincidentes para su emisión. (función miembro pública) | |
Modificadores | |
Intercambia el contenido. (función miembro pública) |
[editar] Funciones no miembro
(eliminado en C++20) |
Compara lexicográficamente los valores en los dos resultados de coincidencias. (plantilla de función) |
Especializa el algoritmo std::swap. (plantilla de función) |