Boost :: xpressive regex_search合并在单个字符串中

时间:2019-05-30 11:56:29

标签: c++ string boost xpressive

我想将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, concatinated 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();
}

0 个答案:

没有答案