c ++:没有重载函数的实例“regex_search”匹配参数列表

时间:2016-04-08 01:32:41

标签: c++ regex

对于我的c ++类,我们获得了“简单的正则表达式赋值”。但每次我尝试在Visual Studio Community 2015中使用regex_search()时,我都会得到“没有重载函数的实例”regex_search“匹配参数列表”。我将鼠标悬停在错误上,它告诉我它想要(例如)字符串,smatch,string;这正是我给它的。

这是我的代码:

IEnumerable

我不知道为什么这些regex_search()行都没有工作。这应该是一个45分钟的项目,它已经花了我超过2个小时,我没有接近完成。这只花了我5分钟的Java。任何帮助将不胜感激。我的妻子开始害怕我的理智。

2 个答案:

答案 0 :(得分:4)

std::regex_search要求将搜索模式指定为std::regex,但您要传递原始字符串。

尝试:

std::regex_search( line, searchResult, std::regex(regexCriteria1) );

P.S。 "using namespace std;" is a bad practice

答案 1 :(得分:1)

cout << regex_search( line, regexCriteria1 )中的来电应为cout << regex_search( line, searchResult, regexCriteria1 )

你的regexCriteria1声明不正确。您应该将其声明为regex regexCriteria1("\\.$");