【问题标题】:How to match a vector of regular expression with a one string?如何将正则表达式向量与一个字符串匹配?
【发布时间】:2019-10-17 13:39:37
【问题描述】:

如果我想验证一个字符串与字符串向量中的任何一个完全匹配,那么我将使用

std::find(vectOfStrings.begin(), vectOfStrings.end(), "<targetString>") != v.end()

如果目标字符串与向量中的任何字符串匹配,则返回true。

但是如果我想检查一个字符串是否与正则表达式向量中的任何一个匹配呢? 有没有我可以使用的标准库让它像 std::find(vectOfRegExprsns.begin(), vectOfRegExprsns.end(), "&lt;targetString&gt;") != v.end()?

任何建议都将受到高度赞赏。

【问题讨论】:

    标签: c++ regex c++11 vector stl


    【解决方案1】:

    std::find_if()lambda 一起使用怎么样?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 2019-05-01
      相关资源
      最近更新 更多