在c ++ 11中使用正则表达式时遇到了一个奇怪的问题(ubuntu 14.4,gcc 4.8.2)
#include <iostream>
#include <regex>
using namespace std;
int main()
{
regex r("(abc|aa.*|bb.*)");
cout<<regex_match("bb11",r)<<endl; //return false
cout<<regex_match("aa11",r)<<endl; //return true
cout<<regex_match("abc",r)<<endl; //return true
return 0;
}
,而
int main()
{
regex r("(aa.*|bb.*|cc.*)");
cout<<regex_match("bb11",r)<<endl; //return true
cout<<regex_match("aa11",r)<<endl; //return true
cout<<regex_match("abc",r)<<endl; //return false
return 0;
}
我想知道为什么“bb11”有不同的结果?