std::match_results::str(3)

NAME
std::match_results::str - std::match_results::str

Synopsis
   string_type str( size_type n = 0 ) const; (since C++11)
   Returns a string representing the indicated sub-match.
   If n == 0, a string representing entire matched expression is returned.
   If 0 < n && n < size(), a string representing n^th sub-match is returned.
   if n >= size(), a string representing the unmatched match is returned.
   The call is equivalent to string_type((*this)[n]);

Parameters
   n - integral number specifying which match to return

Return value
   Returns a string representing the specified match or sub match.

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.str(0) << '\n'
               << "submatch #1: " << sm.str(1) << '\n';
     std::regex re2("a(a*)b");
     std::regex_search(target, sm, re2);
     std::cout << "entire match: " << sm.str(0) << '\n'
               << "submatch #1: " << sm.str(1) << '\n';
 }

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

See also
   operator[] returns specified sub-match
              (public member function)