冲突的正则表达式结果

时间:2014-10-20 07:12:20

标签: c++ regex

我需要评估一些我所拥有的数据的正则表达式。它是以特定顺序从字符串输入中获取文件名。

到目前为止,我已经完成了这项工作 - http://regex101.com/r/rZ8tP0/1

PS:我不熟悉正则表达式,所以请不要谈论这不是最优的。最佳解决方案欢迎。

真正的问题是 - 我有一个C ++程序可以做到这一点。程序为相同的字符串 - 正则表达式组合返回0,regex101返回1.我缺少什么?

C ++代码是:

#include<iostream>
#include<regex>
using namespace std;
int main()
{
    string s = "data-FileName-author-data-";
    string r = "(.+-){1}FileName-(.+-){2}";
    cout<<regex_match(s, regex(r))<<"\n"; //returns 0
}                 

1 个答案:

答案 0 :(得分:1)

您使用哪种编译器?如果gcc - 只有gcc 4.9+支持正则表达式的正确工作。 Live example on Coliru, that shows 1