0

此代码片段:

smatch m;
auto   a = regex_search ("uyiu #23->45 kjlk",    regex ("->"));
auto   b = regex_match  ("uyiu #23->45 kjlk", m, regex ("->"));

cout << a << " " << b;

产生(在 VS2012 C++ 中):

1 0

并且m是空的。为什么不1 1呢?

4

1 回答 1

2

来自 regex_match 的文档:

整个目标序列必须与该函数的正则表达式匹配才能返回 true。

http://www.cplusplus.com/reference/regex/regex_match/

于 2013-04-10T02:02:53.223 回答