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

Метод str

Метод str класса smatch возвращает строку типа std::string, которая содержит текст, совпавший с регулярным выражением. Метод не принимает параметров. Он полезен, когда нужно извлечь найденное совпадение целиком.

Синтаксис

smatch_name.str()

Пример

Давайте найдем первое вхождение числа в строке и выведем его с помощью метода str:

#include <iostream> #include <string> #include <regex> using namespace std; int main() { string text = "abc 123 de"; regex pattern(R"(\d+)"); smatch matches; if (regex_search(text, matches, pattern)) { cout << matches.str() << endl; } return 0; }

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

123

Пример

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

#include <iostream> #include <string> #include <regex> using namespace std; int main() { string text = "a1 b22 c333"; regex pattern(R"(\d+)"); sregex_iterator it(text.begin(), text.end(), pattern); sregex_iterator end; while (it != end) { smatch match = *it; cout << match.str() << endl; ++it; } return 0; }

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

1 22 333

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

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