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();
}