Count number of matches

前端 未结 2 1062
刺人心
刺人心 2020-12-09 05:56

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         


        
2条回答
  •  一个人的身影
    2020-12-09 06:50

    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
    

提交回复
热议问题