RLHaides
2017-06-20 11:52
采纳率: 75%
浏览 1.1k

c++中正则表达式匹配问题

我想匹配xxxx-xx-xx\xx:xx 此处x为数字
可是

 #include<iostream>
#include<string>
#include<regex>
using namespace std;
int main(){
  // regex str1("\\w{4}-\\w{2}-\\w{2}\\\w{2}:\\w{2}");
   regex str1("(\\w{4}-\\w{2}-\\w{2})\\(\\w{2}:\\w{2})");
   smatch flag1;
   string str;
   int index = 3;
   while(index--)
   {
    cin>>str;
    cout<<boolalpha<<regex_match(str,flag1,str1)<<endl;
   }

}

报错
可是

 #include<iostream>
#include<string>
#include<regex>
using namespace std;
int main(){
  // regex str1("\\w{4}-\\w{2}-\\w{2}\\\w{2}:\\w{2}");
   regex str1("(\\w{4}-\\w{2}-\\w{2})\\\\(\\w{2}:\\w{2})");
   smatch flag1;
   string str;
   int index = 3;
   while(index--)
   {
    cin>>str;
    cout<<boolalpha<<regex_match(str,flag1,str1)<<endl;
   }

}

正常匹配,这是为什么

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • RLHaides 2017-06-20 11:56
    已采纳

    长期没碰c++,希望大家帮忙。

    点赞 打赏 评论

相关推荐 更多相似问题