función match_results begin() y end() en C++ STL

match_results::cbegin() es una función incorporada en C++ STL que devuelve un iterador que apunta a la primera coincidencia en el objeto match_results. 

Sintaxis: 

smatch_name.begin()

Parámetros: Esta función no acepta ningún parámetro.

Valor de retorno: esta función devuelve un iterador que apunta a la primera coincidencia en el objeto match_results. Las coincidencias contenidas en el objeto match_results son siempre constantes.

Nota: El primer elemento siempre contiene la coincidencia de expresiones regulares completa, mientras que los demás contienen el grupo de captura particular .

El siguiente programa ilustra la función anterior:

CPP

// C++ program to illustrate the
// match_results begin() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
    string sp("geeksforgeeks");
    regex re("(geeks)(.*)");
 
    smatch match;
 
    // we can use member function on match
    // to extract the matched pattern.
    std::regex_match(sp, match, re);
 
    // The size() member function indicates the
    // number of capturing groups plus one for the overall match
    // match size = Number of capturing group + 1
    // (.*) which "forgeeks" ).
    cout << "Match size = " << match.size() << endl;
 
    cout << "matches:" << endl;
    for (smatch::iterator it = match.begin(); it != match.end(); ++it)
        cout << *it << endl;
    return 0;
}
Producción: 

Match size = 3
matches:
geeksforgeeks
geeks
forgeeks

 

match_results::end() es una función incorporada en C++ STL que devuelve un iterador que apunta a la coincidencia anterior al final en el objeto match_results. 

Sintaxis: 

smatch_name.end()

Parámetros: Esta función no acepta ningún parámetro.

Valor de retorno: esta función devuelve un iterador que apunta a la coincidencia más allá del final en el objeto match_results. Las coincidencias contenidas en el objeto match_results son siempre constantes.

Nota: el primer elemento siempre contiene la coincidencia de expresiones regulares completa, mientras que los demás contienen el grupo de captura particular .

El siguiente programa ilustra la función anterior.

CPP

// C++ program to illustrate the
// match_results end() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
    string sp("matchresult");
    regex re("(match)(.*)");
 
    smatch match;
 
    // we can use member function on match
    // to extract the matched pattern.
    std::regex_match(sp, match, re);
 
    // The size() member function indicates the
    // number of capturing groups plus one for the overall match
    // match size = Number of capturing group + 1
    // (.*) which "results" ).
    cout << "Match size = " << match.size() << endl;
 
    cout << "matches:" << endl;
    for (smatch::iterator it = match.begin(); it != match.end(); ++it)
        cout << *it << endl;
    return 0;
}
Producción: 

Match size = 3
matches:
matchresult
match
result

 

Veamos las diferencias en forma tabular de la siguiente manera: 

resultados_de_coincidencia comienzan() resultados_de_coincidencia fin()
Se utiliza para devolver un iterador que apunta a la primera coincidencia en el objeto match_results. Se utiliza para devolver un iterador que apunta a la coincidencia más allá del final en el objeto match_results.

Su sintaxis es -:

const_iterator begin() const;

Su sintaxis es -:

const_iterator end() const;
No toma ningún parámetro. No toma ningún parámetro.
Su complejidad es constante. Su complejidad es constante.
Su validez de iterador no cambia. Su validez de iterador no cambia.

Publicación traducida automáticamente

Artículo escrito por Harsha_Mogali 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 *