std::sub_match<BidirIt>::operator string_type, std::sub_match<BidirIt>::str
From cppreference.com
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::sub_match
Member functions
sub_match::strsub_match::operator string_type
Non-member functions
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
operator string_type() const;
(1)
string_type str() const;
(2)
Converts to an object of the underlying std::basic_string type.
1) An implicit conversion.
2) An explicit conversion.
[edit] Return value
The matched character sequence as an object of the underlying std::basic_string type. If the matched
member is false, then returns the empty string.
[edit] Complexity
Linear in the length of the underlying character sequence.
[edit] Example
Run this code
#include <cassert> #include <iostream> #include <regex> #include <string> int main() { const std::string html{R"("<a href="https://cppreference.com/">)"}; const std::regex re{"(http|https|ftp)://([a-z]+)\\.([a-z]{3})"}; std::smatch parts; std::regex_search (html, parts, re); for (std::ssub_match const& sub : parts) { const std::string s = sub; // (1) implicit conversion assert (s == sub.str()); // (2) std::cout << s << '\n'; } }
Output:
https://cppreference.com https cppreference com