match_results length() en C++ STL

Match_results ::length() es una función incorporada en C++ que se usa para devolver la longitud de una coincidencia particular en el objeto match_results.
Sintaxis: 
 

smatch_name.length(n)

Note: smatch_name is an object of match_results class.

Parámetros: Acepta un único parámetro n que especifica el número de Match. Es menor que match_results::size. El número de coincidencia 0 representa la expresión coincidente completa. Los números de coincidencia subsiguientes identifican las subexpresiones, si las hay. La integral pasada es un tipo de integral sin signo.
Valor devuelto: Devuelve la longitud de la n-ésima coincidencia en el objeto match_results.
Nota: el primer elemento siempre contiene la coincidencia de expresiones regulares completa, mientras que los demás contienen el grupo de captura particular .
Los siguientes programas ilustran la función anterior. 
Programa 1: 
 

CPP

// CPP program to illustrate
// match_results length() in C++
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    string s("Geeksforgeeks");
    regex re("(Geeks)(.*)");
 
    smatch match;
 
    regex_match(s, match, re);
 
    for (int i = 0; i < match.size(); i++) {
        cout << "match " << i << " has a length of "
             << match.length(i) << endl;
    }
    return 0;
}
Producción: 

match 0 has a length of 13
match 1 has a length of 5
match 2 has a length of 8

 

Programa 2: 
 

CPP

// CPP program to illustrate
// match_results length() in C++
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    string s("Geeksforgeeks");
    regex re("(Ge)(eks)(.*)");
 
    smatch match;
 
    regex_match(s, match, re);
 
    int max_length = 0;
    string str;
 
    // Since the first match is the
    // whole string we do not consider it.
    for (int i = 1; i < match.size(); i++) {
        if (match.length(i) > max_length) {
            str = match[i];
            max_length = match.length(i);
        }
    }
 
    cout << "max-length sub match is " << str
         << " with a length of " << max_length;
    return 0;
}
Producción: 

max-length sub match is forgeeks with a length of 8

 

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 *