#include <iostream>
#include <vector>
#include <regex>
int main() {
const std::string s = "4345t435\ng54t a_file_123.xml rk\ngreg a_file_j34.xml fger 43t54";
const std::regex rx("a_file_\\w+\\.xml");
std::vector<std::string> results(std::sregex_token_iterator(s.begin(), s.end(), rx),
std::sregex_token_iterator());
std::cout << "Number of matches: " << results.size() << std::endl;
for (auto result : results)
{
std::cout << result << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cmVnZXg+CgppbnQgbWFpbigpIHsKCWNvbnN0IHN0ZDo6c3RyaW5nIHMgPSAiNDM0NXQ0MzVcbmc1NHQgYV9maWxlXzEyMy54bWwgcmtcbmdyZWcgYV9maWxlX2ozNC54bWwgZmdlciA0M3Q1NCI7Cgljb25zdCBzdGQ6OnJlZ2V4IHJ4KCJhX2ZpbGVfXFx3K1xcLnhtbCIpOwoJc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHJlc3VsdHMoc3RkOjpzcmVnZXhfdG9rZW5faXRlcmF0b3Iocy5iZWdpbigpLCBzLmVuZCgpLCByeCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnNyZWdleF90b2tlbl9pdGVyYXRvcigpKTsKCglzdGQ6OmNvdXQgPDwgIk51bWJlciBvZiBtYXRjaGVzOiAiIDw8IHJlc3VsdHMuc2l6ZSgpIDw8IHN0ZDo6ZW5kbDsKCWZvciAoYXV0byByZXN1bHQgOiByZXN1bHRzKQoJewoJCXN0ZDo6Y291dCA8PCByZXN1bHQgPDwgc3RkOjplbmRsOwoJfQoJcmV0dXJuIDA7Cn0=