std::sregex_iterator возвращает последовательность всех непересекающихся совпадений с шаблоном. Каждый элемент - объект std::smatch; текст совпадения.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpRgMF 28 of 696 menu
◀ ▶

Все совпадения в регулярках в 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"

Выведите список подстрок из букв.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить