std::regex_search возвращает true, если в строке есть хотя бы одно совпадение с шаблоном, и false, если совпадений нет.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpRgMSe 20 of 696 menu
◀ ▶

Поиск совпадения в регулярках в C++

Функция std::regex_search возвращает true, если в строке есть хотя бы одно совпадение с шаблоном, и false, если совпадений нет. Проверка идет слева направо по всей строке:

std::string txt = "aaa 123 bbb"; std::regex re(R"(\d+)"); bool hasDigits = std::regex_search(txt, re); std::cout << hasDigits << "\n";

Тот же вызов с объектом std::smatch находит первое совпадение. Если подходящего фрагмента нет, результат ложный. Текст совпадения берут через m.str или m[0]:

std::string txt = "aaa 123 bbb 456"; std::regex re(R"(\d+)"); std::smatch res; std::regex_search(txt, res, re); std::cout << res.str() << "\n";

Дана строка:

std::string txt = "123 abc 456 cde";

Найдите первую подстроку из одних букв и выведите ее в консоль.

Дана строка:

std::string txt = "1 23 456 789";

Проверьте, есть ли в строке число из трех цифр подряд, и выведите результат в консоль.

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