Все совпадения в регулярках в C++
Перебор std::sregex_iterator возвращает последовательность
всех непересекающихся совпадений с шаблоном.
Каждый элемент - объект std::smatch;
текст совпадения берут из value.
Результат удобно собрать в список:
std::string txt = "12 43 56 ab"
std::regex re(R"(\d+)");
std::vector<std::string> res;
for (std::sregex_iterator it(txt.begin(), txt.end(), re), end; it != end; ++it)
res.push_back(it->str());
std::cout << res << "\n";
Дана строка:
std::string txt = "123 aaa 456 bbb 789"
Выведите список подстрок из цифр.
Дана строка:
std::string txt = "abc 123 def 456 789"
Выведите список подстрок из букв.