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

标签 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

最佳答案

来自 regex_match 的文档:

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

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

关于c++ - VS2012 C++ 中奇怪的正则表达式行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15915659/

相关文章:

c++ - 在 C++ 并发中使用互斥量

Python:如何使用正则表达式提取日期

c++ - 正则表达式以匹配sql where条件

c++ - 二进制搜索 - 代码编译和运行后不显示输出

c++ - 在不使用 std 的情况下如何使用 int32_t?

c++ - 这个重载决议是否正确?

c++ - 使用指针显示多维数组中的元素

android - 用特定值填充所有可用堆栈

PHP 正则表达式定界符,/vs。 |与 {} ,有什么区别?

c++ - 如何正确存储中文字符串?