13
Si tengo un patrón simple de expresiones regulares como "ab". y tengo una cadena que tiene múltiples coincidencias como "abc abd". Si hago lo siguiente ...Boost C++ regex - cómo obtener múltiples coincidencias
boost::match_flag_type flags = boost::match_default;
boost::cmatch mcMatch;
boost::regex_search("abc abd", mcMatch, "ab.", flags)
Entonces mcMatch contiene sólo el primer resultado "abc". ¿Cómo puedo obtener todas las coincidencias posibles?
Gracias por la rápida respuesta. Pregunta, ¿qué devuelve * iter, no parece ser un impulso :: cmatch en mi prueba rápida? Acabo de dar un ejemplo muy simple. En mi expresión regular, puedo tener grupos, por lo que necesito acceder a la información del grupo para cada coincidencia (como está disponible en cmatch). – Ron
Puede probar el regex_iterator en su lugar, devuelve un match_result cuando se desreferencia, y debe darle lo que está buscando. – Jacob