我正在尝试使用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
将您的表情放在那儿,它抱怨第一个?与
“先前的令牌不可量化”。
一旦删除,它就会与您的测试字符串匹配。