std::basic_regex::mark_count
De cppreference.com
< cpp | regex | basic regex
unsigned mark_count() const; |
(desde C++11) | |
Devuelve el número de subexpresiones marcadas (también conocidas como grupos de captura) dentro de la expresión regular.
Contenido |
[editar] Parámetros
(Ninguno)
[editar] Valor de retorno
El número de subexpresiones marcadas dentro de la expresión regular.
[editar] Excepciones
Puede lanzar excepciones definidas por la implementación.
[editar] Ejemplo
Ejecuta este código
#include <iostream> #include <regex> int main() { std::regex r1{"abcde"}; std::cout << "r1 tiene " << r1.mark_count() << " subexpresiones" << '\n'; // Esperado: 0 std::regex r2{"ab(c)de"}; std::cout << "r2 tiene " << r2.mark_count() << " subexpresiones" << '\n'; // Esperado: 1 std::regex r3{"a(bc)d(e)"}; std::cout << "r3 tiene " << r3.mark_count() << " subexpresiones" << '\n'; // Esperado: 2 // subexpresiones anidadas std::regex r4{"abc(de(fg))"}; std::cout << "r4 tiene " << r4.mark_count() << " subexpresiones" << '\n'; // Esperado: 2 // paréntesis escapados std::regex r5{"a(bc\\(\\)de)"}; std::cout << "r5 tiene " << r5.mark_count() << " subexpresiones" << '\n'; // Esperado: 1 // usando indicador nosubs std::regex r6 {"ab(c)de", std::regex_constants::nosubs}; std::cout << "r6 tiene " << r6.mark_count() << " subexpresiones" << '\n'; // Esperado: 0 }
Salida:
r1 tiene 0 subexpresiones r2 tiene 1 subexpresiones r3 tiene 2 subexpresiones r4 tiene 2 subexpresiones r5 tiene 1 subexpresiones r6 tiene 0 subexpresiones