Namespaces
Variants

std::match_results<BidirIt,Alloc>:: operator[]

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
const_reference operator [ ] ( size_type n ) const ;
(начиная с C++11)

Если n > 0 и n < size ( ) , возвращает ссылку на std::sub_match , представляющий часть целевой последовательности, которая была сопоставлена с n захваченным помеченным подвыражением ).

Если n == 0 , возвращает ссылку на std::sub_match , представляющий часть целевой последовательности, совпавшую со всем совпавшим регулярным выражением.

если n >= size ( ) , возвращает ссылку на std::sub_match , представляющий несопоставленный подвыражение (пустой поддиапазон целевой последовательности).

ready() должен возвращать true . В противном случае поведение не определено.

Содержание

Параметры

n - целое число, определяющее, какое совпадение возвращать

Возвращаемое значение

Ссылка на std::sub_match , представляющий указанный сопоставленный поддиапазон в целевой последовательности.

Пример

#include <iostream>
#include <regex>
#include <string>
int main()
{
    std::string target("baaaby");
    std::smatch sm;
    std::regex re1("a(a)*b");
    std::regex_search(target, sm, re1);
    std::cout << "entire match: " << sm[0] << '\n'
              << "submatch #1: " << sm[1] << '\n';
    std::regex re2("a(a*)b");
    std::regex_search(target, sm, re2);
    std::cout << "entire match: " << sm[0] << '\n'
              << "submatch #1: " << sm[1] << '\n';
}

Вывод:

entire match: aaab
submatch #1: a
entire match: aaab
submatch #1: aa

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

возвращает последовательность символов для определённого под-совпадения
(публичная функция-член)