Scroll to navigation

std::match_results::str(3) C++ Standard Libary std::match_results::str(3)


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


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 n > 0 && n < size(), a string representing nth sub-match is returned.

if n >= size(), a string representing the unmatched match is returned.

The call is equivalent to string_type((*this)[n]);


n - integral number specifying which match to return

Return value

Returns a string representing the specified match or sub match.


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



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

See also

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