std::match_results<BidirIt,Alloc>::operator[] (3) - Linux Manuals

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

NAME

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

Synopsis


const_reference operator[]( size_type n ) const; (since C++11)


If n > 0 and n < size(), returns a reference to the std::sub_match representing the part of the target sequence that was matched by the nth captured marked_subexpression).
If n == 0, returns a reference to the std::sub_match representing the part of the target sequence matched by the entire matched regular expression.
if n >= size(), returns a reference to a std::sub_match representing an unmatched sub-expression (an empty subrange of the target sequence).
The behavior is undefined unless ready() == true

Parameters


n - integral number specifying which match to return

Return value


Reference to the std::sub_match representing the specified matched subrange within the target sequence.

Example


// Run this code


  #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';


  }

Output:


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

See also


    returns the sequence of characters for the particular sub-match
str (public member function)