0

我想将 regex_search 找到的所有匹配项连接成一个字符串,然后返回它。我尝试用 std::accumulate 来做,但失败了。

有没有办法返回类似的东西std::accumulate(what.begin()+1, what.end(), someFunc)
我对函数式编程不是很熟悉。我知道我可以创建一个将字符串添加在一起的 for 循环,但我想尝试以其他方式进行。提前致谢!

这是一个伪代码片段,可以帮助您更好地理解我想要做什么。

std::string foo(const std::string& text) 
{   
    using namespace boost::xpressive;
    sregex srx = +_d >> as_xpr("_") >> +_d; // some random regex
    smatch what;

    if (regex_search(filename, what, srx))
    {
        // Here I want to return a string,
        //  concatenated from what[1].str() + what[2].str() + ... + what[n].str();
        // How do I do this?
        // What about what[1].str() + "-" + what[2].str()...?
    }
    return std::string();
}
4

0 回答 0