How do you print the string representation of a std::regex
?
Say I have a collection of patterns, and I'd like to print the first one that matches:
std::vector<std::regex>> patterns = Get();
for (auto pattern: patterns){
if (std::regex_match("file.txt",pattern)){
std::cout << "matched on pattern: " << /* ? pattern ? */ << '\n';
}
}
std::cout
will not work on std::regex
.
There doesn't seem to be any methods to get the string representation.
Are we expected to carry around a string separately, or am I missing something in the docs?
There doesn't seem to be any methods to get the string representation.
Correct. It is not even specified that the std::regex
even saves your expression in the form you gave it, which might be the case if the implementation decides to use some more optimized format.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With