как найти все экземпляры регулярного выражения в строке на с++?

Есть вот такой код, мне нужно найти все выражения по типу 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;
}

Ответы (0 шт):