std::regex_iterator is a class template too
template<typename CharT>
std::size_t countMatches(const CharT* find, const CharT* str)
{
std::basic_string<CharT> text(str);
std::basic_regex<CharT> reg(find);
typedef typename std::basic_string<CharT>::iterator iter_t;
return distance(std::regex_iterator<iter_t>(text.begin(), text.end(), reg),
std::regex_iterator<iter_t>());
}