std::regex принимает флаги вторым аргументом: учет регистра и другие правила поиска. Часто используют std::regex::icase для сравнения без учета.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpRgOpt 43 of 696 menu
◀ ▶

Флаги std::regex в C++

Конструктор std::regex принимает флаги вторым аргументом: учет регистра и другие правила поиска. Часто используют std::regex::icase для сравнения без учета регистра:

std::regex re(R"(hello)", std::regex::icase); bool ok = std::regex_search("HELLO", re); std::cout << ok << "\n";

Отдельного многострочного флага у std::regex нет: ^ и $ привязаны к началу и концу всей строки. Чтобы точка захватывала перевод строки, в шаблоне используют [\s\S]. Несколько флагов объединяют через |:

std::regex re(R"(^line)", std::regex::icase); std::string txt = "First\nLINE two"; std::smatch m; std::regex_search(txt, m, re); std::cout << m.str() << "\n";

Дана строка:

std::string txt = "Garden GARDEN garden";

Проверьте, встречается ли слово "garden" без учета регистра, и выведите результат в консоль.

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