función regex_iterator() en C++ STL

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *