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

Функция regex_match

Функция regex_match проверяет, соответствует ли вся строка заданному регулярному выражению. В отличие от regex_search, которая ищет совпадение в любой части строки, regex_match требует, чтобы совпадение покрывало строку целиком. В первый параметр мы передаем строку для проверки, во второй - объект regex с регулярным выражением, а в третий (необязательный) - объект match_results для сохранения результатов совпадения.

Синтаксис

regex_match(str, regex) regex_match(str, match_results, regex)

Пример

Давайте проверим, соответствует ли строка "abcde" регулярному выражению, которое допускает только буквы:

#include <iostream> #include <regex> using namespace std; int main() { string str = "abcde"; regex re("[a-z]+"); if (regex_match(str, re)) { cout << "Match" << endl; } else { cout << "No match" << endl; } return 0; }

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

"Match"

Пример

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

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

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

"No match"

Пример

Давайте получим совпадения по группам, используя объект smatch:

#include <iostream> #include <regex> using namespace std; int main() { string str = "abcde"; regex re("([a-z]+)"); smatch matches; if (regex_match(str, matches, re)) { cout << matches[0] << endl; cout << matches[1] << endl; } return 0; }

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

"abcde" "abcde"

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

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