match_results ::operator= se usa para reemplazar todas las coincidencias en un objeto smatch con nuevas coincidencias de otro objeto smatch.
Sintaxis:
smatch_name1 = (smatch_name2) Note: smatch_name is an object of match_results class.
Parámetros: El objeto smatch del lado derecho se copia en el del lado izquierdo.
Valor devuelto: No devuelve nada.
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 operator= in C++ #include <bits/stdc++.h> using namespace std; int main() { string s("Geeksforgeeks"); regex re("(Geeks)(.*)"); smatch match1, match2; regex_match(s, match1, re); // use of operator =--> assigns all // the contents of match1 to match2 match2 = match1; cout << "Matches are:" << endl; for (smatch::iterator it = match2.begin(); it != match2.end(); it++) { cout << *it << endl; } }
Producción:
Matches are: Geeksforgeeks Geeks forgeeks
Programa 2:
CPP
// CPP program to illustrate // match_results operator= in C++ #include <bits/stdc++.h> using namespace std; int main() { string s("Geeksforgeeks"); regex re1("(Geeks)(.*)"); regex re2("(Ge)(eks)(.*)"); smatch match1, match2; regex_match(s, match1, re1); regex_match(s, match2, re2); smatch max_match; // use of operator =--> assigns all // the contents of match1 to match2 if (match1.size() > match2.size()) { max_match = match1; } else { max_match = match2; } cout << "Smatch with maximum matches:" << endl; for (smatch::iterator it = max_match.begin(); it != max_match.end(); it++) { cout << *it << endl; } }
Producción:
Smatch with maximum matches: Geeksforgeeks Ge eks forgeeks
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