cpp / latest / regex / sub_match / str.html /

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

operator string_type() const;
(1)
string_type str() const;
(2)

Converts to an object of the underlying std::basic_string type.

The first version is an implicit conversion, the second one is explicit.

Parameters

(none).

Return value

Returns the matched character sequence as an object of the underlying std::basic_string type. If the matched member is false, then the empty string is returned.

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 url {"https://([a-z]+)\\.([a-z]{3})"};
    std::smatch parts;
    std::regex_search(html, parts, url);
    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
cppreference
com

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/regex/sub_match/str