VS2012 C ++中奇怪的正则表达式行为

时间:2013-04-10 02:00:05

标签: c++ regex c++11

此代码段:

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

1 个答案:

答案 0 :(得分:2)

来自regex_match的文档:

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

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