Biblioteca de expresiones regulares
La biblioteca de expresiones regulares proporciona una clase que representa expresiones regulares, que son una especie de mini-lenguaje que se utiliza para realizar coincidencias de patrones dentro de cadenas. Casi todas las operaciones con expresiones regulares se pueden caracterizar operando en varios de los siguientes objetos:
- Secuencia de destino. La secuencia de caracteres que se busca para un patrón. Este puede ser un rango especificado por dos iteradores, una cadena de caracteres terminada en nulo o un std::string.
- Patrón. Esta es la expresión regular en sí misma. Determina qué constituye una coincidencia. Es un objeto de tipo std::basic_regex, construido a partir de una cadena con una sintaxis especial. Véase std::regex_constants::syntax_option_type para obtener una descripción de las variaciones de sintaxis admitidas.
- Array de coincidencias. La información sobre coincidencias se puede recuperar como un objeto de tipo std::match_results.
- Cadena de reemplazo. Esta es una cadena que determina cómo reemplazar las coincidencias. Véase std::regex_constants::match_flag_type para obtener una descripción de las variaciones de sintaxis admitidas.
Clases principales
Estas clases encapsulan una expresión regular y los resultados de hacer coincidir una expresión regular dentro de una secuencia objetivo de caracteres.
(C++11) |
Objeto de expresiones regulares. (plantilla de clase) |
(C++11) |
Identifica la secuencia de caracteres coincididos por una subexpression. (plantilla de clase) |
(C++11) |
Identifica una coincidencia de expresión regular, incluyendo todas las coincidencias de subexpresión. (plantilla de clase) |
Algoritmos
Estas funciones se utilizan para aplicar la expresión regular encapsulada en una expresión regular a una secuencia de caracteres de destino.
(C++11) |
Intenta coincidir una expresión regular para toda la secuencia de caracteres. (plantilla de función) |
(C++11) |
Intenta coincidir una expresión regular con cualquier parte de una secuencia de caracteres. (plantilla de función) |
(C++11) |
Reemplaza las apariciones de una expresión regular con texto de reemplazo formateado. (plantilla de función) |
Iteradores
Los iteradores de expresiones regulares se utilizan para recorrer todo el conjunto de coincidencias de expresiones regulares encontrado dentro de una secuencia.
(C++11) |
Itera a través de todas las coincidencias de expresiones regulares dentro de una secuencia de caracteres. (plantilla de clase) |
(C++11) |
Itera a través de las subexpresiones especificadas dentro de todas las coincidencias de expresiones regulares en una cadena dada o a través de subcadenas no coincidentes. (plantilla de clase) |
Excepciones
Esta clase define el tipo de objetos lanzados como excepciones para reportar errores de la biblioteca de expresiones regulares.
(C++11) |
Informa de errores generado por la biblioteca de expresiones regulares. (clase) |
Rasgos de tipo
La clase de rasgos de expresiones regulares se utiliza para encapsular los aspectos localizables de una expresión regular.
(C++11) |
Proporciona metainformación sobre un tipo carácter, requerido por la biblioteca de expresiones regulares. (plantilla de clase) |
Constantes
Definido en el espacio de nombres
std::regex_constants | |
(C++11) |
Opciones generales para controlar el comportamiento de las expresiones regulares. (typedef) |
(C++11) |
Opciones específicas para coincidencias. (typedef) |
(C++11) |
Describe los diferentes tipos de errores de coincidencias. (typedef) |
Ejemplo
#include <iostream>
#include <iterator>
#include <string>
#include <regex>
int main()
{