执行此代码时:
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main(){
string s("abcd");
smatch m;
regex rgx("a(b(.+))");
if(regex_match(s,m,rgx))
for(const auto& sub : m)
cout<<sub.str()<<endl;
}
......我希望:
abcd
bcd
cd
......但我明白了:
abcd
abcd
bcd
我做错了吗?