как найти все экземпляры регулярного выражения в строке на с++?
Есть вот такой код, мне нужно найти все выражения по типу th.f=/sdaasd/sadas/asd.php, в строке str их содержится 3. Проблема в том, что этот код помещает в переменную результ только первое подобное выражение, как это исправить?
int main()
{
ConeConfigParser("/home/anton/regtest", WS);
std::string str = "xdZasdSA SADSAD SADSDSA SAD th.f=/sdaasd/sadas/asd.php th.f=/sdsdaaasd/sadas/asd.txt th.f=/sdaasdsad/sadas/asd.pyton";
std::cmatch result;
std::regex regular("([\\w\\d-\.]+[\\s]*=[\\w/\.]+)"
);
if (std::regex_search(str.c_str(), result, regular))
std::cout << true << std::endl;
for (int i = 0; i < result.size(); i++)
std::cout << result[i] << std::endl;
return 0;
}