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

Поле ready

Поле ready класса smatch показывает, был ли успешным поиск соответствия регулярному выражению. Если соответствие было найдено, поле содержит true, а если нет - false. Это поле не принимает параметров и доступно только для чтения. Его удобно использовать для проверки результата работы функций regex_search и regex_match перед обращением к найденным совпадениям.

Синтаксис

smatch res; res.ready

Пример

Давайте выполним поиск и проверим поле ready после успешного совпадения:

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abcde"; regex reg("bcd"); smatch res; regex_search(str, res, reg); if (res.ready) { cout << "Match found" << endl; } else { cout << "Match not found" << endl; } return 0; }

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

"Match found"

Пример

А теперь давайте проверим поле ready, когда совпадение не было найдено:

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abcde"; regex reg("xyz"); smatch res; regex_search(str, res, reg); if (res.ready) { cout << "Match found" << endl; } else { cout << "Match not found" << endl; } return 0; }

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

"Match not found"

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

  • класс smatch,
    который хранит результаты поиска совпадений
  • метод str,
    который возвращает найденную подстроку
  • метод position,
    который возвращает позицию найденного совпадения
  • метод length,
    который возвращает длину найденного совпадения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить