如何将一个正则表达式向量与一个字符串匹配?

4
如果我想要验证一个字符串是否与字符串向量中的任意一个完全匹配,那么我将使用:
std::find(vectOfStrings.begin(), vectOfStrings.end(), "<targetString>") != v.end()

如果目标字符串与向量中的任何字符串匹配,则它将返回 true。
但如果我想检查一个字符串是否与正则表达式向量中的任何一个匹配呢?是否有任何标准库可以使其像这样工作:std::find(vectOfRegExprsns.begin(), vectOfRegExprsns.end(), "<targetString>") != v.end()
任何建议都将不胜感激。
1个回答

3

使用带有lambdastd::find_if()如何?

std::find_if(
vectOfRegExprsns.begin(), vectOfRegExprsns.end(),
[](const std::string& item) { return regex_match(item, std::regex(targetString))});

1
对于不熟悉迭代器的人来说,阅读并打印结果会很有帮助。 - Sxubach

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接