我正在尝试使用C ++中的regex_search搜索功能签名。这是我正在使用的

std::smatch m;

std::regex e("?(unsigned|signed|const|inline)?\\s?(bool|char|int|float|double|void|wchar_t|string)\\s?[*]?(\\w.*)[(](.*)[)]\\s?{?$");

if(regex_search(xmlFileLine, m, e)) {

cout << xmlFileLine << endl;

}


在上面的代码“ xmlFileLine”中,是getline读取输入文件每一行的字符串。例如,我要匹配的字符串是
“ int Testo :: Fact(int n){”

当我尝试执行上述regex并获得所有regex_error标志(如paren,community等)时,我发现它被抛出了regex_paren。我没有解决的办法。

请帮助我。

最佳答案

测试正则表达式的好地方是
regex101.com
将您的表情放在那儿,它抱怨第一个?与
“先前的令牌不可量化”。
一旦删除,它就会与您的测试字符串匹配。

09-07 08:01