Как сопоставить несколько результатов, используя std :: regex
например. Если у меня есть строка типа «первый второй третий четвертый», и я хочу сопоставить каждое отдельное слово в одной операции, чтобы вывести их по одному.
Я просто думал, что "(\ b \ S * \ b) {0,}" будет работать. Но на самом деле это не так.
Что я должен делать?
Вот мой код:
#include<iostream>
#include<string>
using namespace std;
int main()
{
regex exp("(\\b\\S*\\b)");
smatch res;
string str = "first second third forth";
regex_search(str, res, exp);
cout << res[0] <<" "<<res[1]<<" "<<res[2]<<" "<<res[3]<< endl;
}
Я с нетерпением жду вашей любезной помощи. :)