std::sub_match<BidirIt>::operator string_type, std::sub_match<BidirIt>::str

From cppreference.com
< cpp‎ | regex‎ | sub match
Regular expressions library
Classes
(C++11)
(C++11)
(C++11)
Algorithms
(C++11)
(C++11)
(C++11)
Iterators
(C++11)
Exceptions
(C++11)
Traits
(C++11)
Constants
(C++11)
(C++11)
Regex Grammar
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.

Return value

The matched character sequence as an object of the underlying std::basic_string type. If the matched member is false

Complexity

Linear in the length of the underlying character sequence.

Example

#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