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

Метод length

Метод length класса smatch возвращает количество символов в найденном совпадении. Если передать в качестве параметра номер группы, метод вернет длину этой конкретной группы. Без параметров метод возвращает длину всего совпадения.

Синтаксис

smatch_var.length([group_index])

Пример

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

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abcde 12345"; regex reg("\\w+"); smatch res; if (regex_search(str, res, reg)) { cout << res.length() << endl; } return 0; }

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

5

Пример

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

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abcde 12345"; regex reg("(\\w+) (\\w+)"); smatch res; if (regex_search(str, res, reg)) { cout << "Total: " << res.length() << endl; cout << "Group 1: " << res.length(1) << endl; cout << "Group 2: " << res.length(2) << endl; } return 0; }

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

"Total: 11" "Group 1: 5" "Group 2: 5"

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

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