我在CentOS 7上,使用gcc version 4.8.5 20150623
,使用-std=c++11
标志进行编译。我的代码是这样的:(注意我是using namespace std;
)
bool compare_regex(const std::string & detection, std::string regstr)
{
bool found = false;
regex reg_matcher(regstr, std::regex_constants::extended);
smatch m;
if (regex_search(detection,m,reg_matcher)){
found = true;
}
else{
log_print("REGEX NOT MATCHED.");
}
return found;
}
即使我使用true
和detection = "The year 1864 was a year I tested my code on string"
调用此代码,此代码也不会返回regstr=18
。我也尝试过更复杂的正则表达式,但它们都不起作用。可能出现什么问题?