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

Карманы во всех совпадениях в C++

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

Пример строки:

std::string txt = "12 43 56 ab"

Найдем все пары чисел и разложим их по карманам:

std::regex re(R"((\d)(\\d))"); for (std::sregex_iterator it(txt.begin(), txt.end(), re), end; it != end; ++it) { std::cout << res << "\n";

Результат выполнения кода:

[('1', '2'), ('4', '3'), ('5', '6')]

Дана следующая строка:

std::string txt = '12:37 15:48 17:59";

Найдите в ней все подстроки с временем и для каждого найденного разложите часы и минуты по карманам.

Дана строка:

std::string txt = 'site.ru sss site.com zzz site.net";

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

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