◐ Shell
clean mode source ↗

std::regex_iterator::regex_iterator - cppreference.com

De cppreference.com

regex_iterator();

(1) (desde C++11)

regex_iterator(BidirIt a, BidirIt b, const regex_type& re, std::regex_constants::match_flag_type m = std::regex_constants::match_default);

(2) (desde C++11)

regex_iterator(const regex_iterator&);

(3) (desde C++11)

regex_iterator(BidirIt, BidirIt, const regex_type&&, std::regex_constants::match_flag_type = std::regex_constants::match_default) = delete;

(4) (desde C++11)

Construye un nuevo regex_iterator:

1) Constructor por defecto. Construye un iterador de fin de secuencia.

2) Construye un regex_iterator a partir de la secuencia de caracteres [a, b), la expresión regular re, y un indicador m que gobierna el comportamiento de coincidencias. Este constructor ejecuta una llamada inicial a std::regex_search con estos datos. Si el resultado de esta llamada inicial es false, *this se establece en un iterador de fin de secuencia.

3) Copia un regex_iterator.

4) No se permite llamar a la sobrecarga (2) con una expresión regular temporal, ya que el iterador devuelto se invalidaría inmediatamente.

Parámetros

a - BidirectionalIterator al comienzo de la secuencia de caracteres de destino.
b - BidirectionalIterator al fin de la secuencia de caracteres de destino.
re - Expresión regular utilizada para buscar la secuencia de caracteres de destino.
m - Indicador que gobierna el comportamiento de re.

Ejemplo

Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 2332 C++11 Un regex_iterator construido a partir de un basic_regex
temporal se volvía inválido inmediatamente.
Tal construcción no se admite mediante una sobrecarga eliminada (=delete).