РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
418 of 815 menu

Класс regex

Класс regex представляет собой регулярное выражение и является основным инструментом для работы с регулярными выражениями в C++. Регулярные выражения позволяют описывать шаблоны поиска текста и находить соответствия, извлекать подстроки или заменять их. В конструктор класса regex мы передаём строку с шаблоном регулярного выражения, а во второй необязательный параметр - флаги синтаксиса.

Синтаксис

regex pattern("шаблон"); regex pattern("шаблон", flags);

Пример

Давайте создадим регулярное выражение для поиска последовательности цифр и проверим строку на соответствие с помощью функции regex_match:

#include <iostream> #include <regex> using namespace std; int main() { regex pattern("[0-9]+"); string str = "12345"; if (regex_match(str, pattern)) { cout << "match" << endl; } else { cout << "no match" << endl; } return 0; }

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

"match"

Пример

Давайте выполним поиск подстроки, состоящей из букв, в строке с помощью функции regex_search:

#include <iostream> #include <regex> using namespace std; int main() { regex pattern("[a-z]+"); string str = "123abcde"; if (regex_search(str, pattern)) { cout << "found" << endl; } else { cout << "not found" << endl; } return 0; }

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

"found"

Пример

Давайте заменим все цифры в строке на символ '#' с помощью функции regex_replace:

#include <iostream> #include <regex> using namespace std; int main() { regex pattern("[0-9]"); string str = "1a2b3"; string res = regex_replace(str, pattern, "#"); cout << res << endl; return 0; }

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

"#a#b#"

Смотрите также

  • функция regex_match,
    которая проверяет соответствие строки шаблону
  • функция regex_search,
    которая ищет подстроку по шаблону
  • функция regex_replace,
    которая заменяет совпадения по шаблону
  • класс cmatch,
    который хранит результаты сопоставления
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить