У меня есть строка с несколькими словами, и я хочу поместить эти слова в вектор, чтобы я мог манипулировать каждым словом как отдельным объектом. проблема в том, что когда я использую функцию regexp_search (string, match, regexp) после нахождения первого совпадения, я пытаюсь удалить все, что было в строке, до того, как найдено слово для совпадения, но вызываю функцию match.suffinx (). str () возвращает emply string, когда он должен возвращать другие слова из этой строки.
вот мое регулярное выражение:
std::regex reg("([C-Fc-f]at)");
вот моя функция:
std::vector<string> stringToVector(string str, regex reg){
cout << boolalpha;
vector<string> vec;
smatch match;
while (regex_search(str, match, reg))
{
vec.push_back(match.str(1));
str = match.suffix().str();
}
return vec;}