std::sregex_iterator также можно использовать карманы. Разместим все цифры, которые находятся в строке, по карманам.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpRgMFiP 31 of 696 menu
◀ ▶

Карманы при переборе в C++

При переборе std::sregex_iterator также можно использовать карманы. Пример строки:

std::string txt = "aaaa 123 bbbb 456";

Разместим все цифры, которые находятся в строке, по карманам. А при переборе объектов циклом выведем первое совпадение (оно будет считаться нулевым карманом), а также его элементы, тоже в свою очередь раскиданные по карманам:

std::regex re(R"((\d)(\d))"); for (std::sregex_iterator it(txt.begin(), txt.end(), re), end; it != end; ++it) { std::cout << it->str(0) << " " << it->str(1) << " " << it->str(2) << "\n"; }

После выполнения кода выведется нулевой карман, т.е. вся подстрока, а также первый и второй символ из этой подстроки:

'12 1 2' '45 4 5'

Дана строка:

std::string txt = "aaa 123 bbb 456 987";

Раскидайте все подстроки с числами по трем карманам. И выведите их .

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