std::match_results<BidirIt,Alloc>::str
From cppreference.com
< cpp | regex | match results
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Text processing library
Regular expressions library (C++11)
Formatting library (C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
Regular expressions library
Classes
(C++11)
(C++11)
(C++11)
Algorithms
(C++11)
(C++11)
(C++11)
Iterators
(C++11)
(C++11)
Exceptions
(C++11)
Traits
(C++11)
Constants
(C++11)
(C++11)
(C++11)
Regex Grammar
(C++11)
std::match_results
Member functions
State
Element access
match_results::str
Iterators
Format
Modifiers
Non-member functions
(until C++20)
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 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]);
ready()
must be true. Otherwise, the behavior is undefined.
Contents
[edit] Parameters
n
-
integral number specifying which match to return
[edit] Return value
Returns a string representing the specified match or sub match.
[edit] 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