match_results vacío() en C++ STL

Match_results ::empty() es una función incorporada en C++ que devuelve True si el objeto smatch no contiene coincidencias.
Sintaxis: 
 

smatch_name.empty()

Note: smatch_name is an object of match_results class.

Parámetros: Esta función no acepta parámetros.
Valor de retorno: esta función devuelve verdadero cuando el objeto está construido de forma predeterminada o devuelve falso si cualquiera de las expresiones regulares regex_match o regex_search encuentra al menos una coincidencia.
Errores y excepciones: 
 

  • No tiene garantía de lanzamiento de excepción.
  • Lanza una excepción cuando se pasa un parámetro.

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 el método anterior. 
Programa 1: 
 

CPP

// CPP program to illustrate
// match_results empty() in C++
#include<bits/stdc++.h>
using namespace std;
 
int main()
{
    string s("harsha");
    regex re1("Geeks.*");
    regex re2("geeks.*");
 
    smatch match1, match2;
 
    regex_match(s, match1, re1);
    regex_match(s, match2, re2);
 
    // if match1 is empty it returns
    // true or else false
    if (match1.empty()) {
        cout << "Regex-1 did not match" << endl;
    }
    else {
        cout << "Regex-1 matched" << endl;
    }
 
    // if match2 is empty it returns
    // true or else false
    if (match2.empty()) {
        cout << "Regex-2 did not match" << endl;
    }
    else {
        cout << "Regex-2 matched" << endl;
    }
 
    return 0;
}
Producción: 

Regex-1 did not match
Regex-2 did not match

 

Programa 2: 
 

CPP

// CPP program to illustrate
// match_results empty() in C++
#include<bits/stdc++.h>
using namespace std;
 
int main()
{
    string s("geeksforgeeks");
    regex re1("Geeks.*");
    regex re2("geeks.*");
 
    smatch match1, match2;
 
    regex_match(s, match1, re1);
    regex_match(s, match2, re2);
 
    // if match1 is empty it returns
    // true or else false
    if (match1.empty()) {
        cout << "Regex-1 did not match" << endl;
    }
    else {
        cout << "Regex-1 matched" << endl;
    }
 
    // if match2 is empty it returns
    // true or else false
    if (match2.empty()) {
        cout << "Regex-2 did not match" << endl;
    }
    else {
        cout << "Regex-2 matched" << endl;
    }
 
    return 0;
}
Producción: 

Regex-1 did not match
Regex-2 matched

 

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 *