regex_iterator() es una función de la clase BiDirectionalIterator en C++. Este método devuelve un tipo de iterador para iterar sobre diferentes coincidencias de un mismo patrón de expresión regular en una secuencia.
Sintaxis:
template< class BidirectionalIterator, class CharT = typename std::iterator_traits::value_type, class Traits = std::regex_traits > class regex_iterator
Sintaxis C++14
template <class BidirectionalIterator, class charT=typename iterator_traits::value_type, class traits=regex_traits > class regex_iterator;
Sintaxis de C++11:
template <class BidirectionalIterator, class charT=typename iterator_traits::value_type, class traits=regex_traits > class regex_iterator;
Parámetros: Este método acepta los siguientes parámetros:
- Iterador bidireccional: que itera sobre la secuencia de caracteres de destino.
- CharT: Es de tipo char.
- traits: Es el tipo de rasgos regex.
Valor de retorno: este método devuelve un objeto de string con la secuencia resultante.
Los siguientes ejemplos ilustran el método regex_iterator():
Ejemplo:
#include <iostream> #include <iterator> #include <regex> #include <string> using namespace std; int main() { const string strg = "Geeksforgeeks welcome geeks."; regex words_regex("[^\\s]+"); auto words_begin = sregex_iterator( strg.begin(), strg.end(), words_regex); auto words_end = sregex_iterator(); cout << "Trying to find words" << " using regex_iterator:\n\n"; cout << "Number of words found: " << distance(words_begin, words_end); cout << "\n\nThe words are:\n"; for (sregex_iterator k = words_begin; k != words_end; ++k) { smatch match = *k; string match_str = match.str(); cout << match_str << endl; } }
Producción:
Trying to find words using regex_iterator: Number of words found: 3 The words are: Geeksforgeeks welcome geeks.
Publicación traducida automáticamente
Artículo escrito por Pushpanjali chauhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA