regex reg1("(\\d+(\\.\\d+)?(e[\\+\\-]?\\d+)?)|([a-zA-Z\\_]\\w*)|(,)|([\\+\\-\\*\\/\\^\\%\\(\\)])");
string str1 = "43+12 - Print(3,4)*7";
smatch sm1;
for (sregex_token_iterator it(str1.begin(),str1.end(),reg1), it_end;it!=it_end; ++it) {
cout << it->str() << endl;
}
我匹配一个字符串,把不同种类的分出来,并且在分组来时还能知道是哪个正则分组匹配到的。。。不然我只能在分出来后,再做多次匹配了。。。
- 所以我想只用一次匹配,不但把匹配到的字符串都找出来,还能得到对应的分组是哪个!!!