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; }
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; }
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