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

Поле empty класса smatch

Поле empty класса smatch возвращает булево значение true, если объект smatch не содержит результатов успешного поиска совпадений (то есть поиск не был выполнен или завершился неудачей), и false, если объект содержит хотя бы одно найденное совпадение. Это поле не принимает параметров и доступно только для чтения. Проверка empty обычно выполняется перед обращением к элементам объекта smatch, чтобы избежать ошибок доступа к несуществующим совпадениям.

Синтаксис

smatch_name.empty

Пример

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

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abcde"; regex reg("cd"); smatch res; regex_search(str, res, reg); if (!res.empty()) { cout << "Match found: " << res[0] << endl; } else { cout << "No match" << endl; } return 0; }

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

"Match found: cd"

Пример

Давайте выполним поиск шаблона, который не встречается в строке, и убедимся, что поле empty вернёт true:

#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.empty()) { cout << "No match" << endl; } else { cout << "Match found: " << res[0] << endl; } return 0; }

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

"No match"

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

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