XML タグのストライピング (プロパティなど<smth a="xxxx">important data</smth>
) に問題があります。それを行うために、私はこれを使用していました
std::string ex = "(<)|(>)|(&)|(")|(')";
std::string fmt ="(?1<)(?2>)(?3&)(?4\")(?5')"; // replace just html tags
ex += "|(<a href(.*?)\">)|(</a>)|(<quote(.*?)>)|(</quote>)"; // strip else
boost::regex expr(ex);
std::string s2 = boost::regex_replace(src, expr, fmt, boost::match_default | boost::format_all);
しかし、それがメモリリークを引き起こしていることに気付きました。多分私は何か間違ったことをしているのですか、それとももっと効率的な方法がありますか?