Boost.Regex奇怪

时间:2009-10-08 14:57:52

标签: c++ regex boost boost-regex

有没有人知道为什么以下代码会输出“不匹配”?

  boost::regex r(".*\\.");
  std::string s("app.test");
  if (boost::regex_match(s, r))
    std::cout << "match" << std::endl;
  else
    std::cout << "no match" << std::endl;

1 个答案:

答案 0 :(得分:4)

我相信 regex_match()会匹配整个字符串。请尝试 regex_search()

它可以使用以下正则表达式:

boost::regex r(".*\\..*");

regex_match()功能。但同样, regex_search()正是您可能正在寻找的。