How do I count the number of matches using C++11\'s std::regex?
std::regex re(\"[^\\\\s]+\");
std::cout << re.matches(\"Harry Botter - The
You can use this:
int countMatchInRegex(std::string s, std::string re)
{
std::regex words_regex(re);
auto words_begin = std::sregex_iterator(
s.begin(), s.end(), words_regex);
auto words_end = std::sregex_iterator();
return std::distance(words_begin, words_end);
}
Example usage:
std::cout << countMatchInRegex("Harry Botter - The robot who lived.", "[^\\s]+");
Output:
7