Boost.Regex странность - PullRequest
       17

Boost.Regex странность

2 голосов
/ 08 октября 2009

Кто-нибудь знает, почему следующий код выведет "no match"?

  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 Ответ

4 голосов
/ 08 октября 2009

Я полагаю, regex_match () соответствует всей строке. Попробуйте вместо этого regex_search () .

Это сработало бы со следующим регулярным выражением:

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

и regex_match () . Но опять же, regex_search () - это то, что вы, вероятно, ищете.

...