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

Функция regex_search

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

Синтаксис

regex_search(str, regex, match)

Пример

Давайте найдем первое совпадение с шаблоном "\\d+", который соответствует одной или нескольким цифрам:

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abc123de45"; regex re("\\d+"); smatch match; if (regex_search(str, match, re)) { cout << match.str() << endl; } return 0; }

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

123

Пример

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

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abcde"; regex re("[A-Z]"); smatch match; if (regex_search(str, match, re)) { cout << "found" << endl; } else { cout << "not found" << endl; } return 0; }

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

"not found"

Пример

Давайте найдем первое совпадение и выведем позицию, с которой оно начинается:

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abc123de45"; regex re("\\d+"); smatch match; if (regex_search(str, match, re)) { cout << match.position() << endl; cout << match.str() << endl; } return 0; }

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

3 123

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

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