std::sub_match<BidirIt>::operator string_type, std::sub_match<BidirIt>::str
From cppreference.com
C++
Text processing library
| Localization library | |||||||||||||||||||||||||
| Regular expressions library (C++11) | |||||||||||||||||||||||||
| Formatting library (C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
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