为什么regex_search不匹配任何东西?

时间:2013-09-11 19:15:58

标签: c++ regex c++11

我似乎无法使用c ++ 11正则表达式函数来处理最基本的代码。我必须遗漏一些非常基本的东西,因为这个快速代码会保持打印“不匹配!”无论我使用什么模式。

std::string value = "foobar" ;
std::string pattern = "o" ;

std::regex re(pattern) ;
if (std::regex_search(value, re)) {
    std::cout << "Matched!" << std::endl ;
} else {
    std::cout << "No Match!" << std::endl ;
}

如果以某种方式重要,我用

编译(并且没有错误)
g++ -Wall -std=c++11 -o test test.cpp

1 个答案:

答案 0 :(得分:1)

标准C ++ 11正则表达式尚未在g ++中实现。

请参阅http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011

从代码中的错误来看,这不是一个“错误”......唯一的错误可能是在查看#include <regex>时没有打破编译时间。