我有条带化 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);
但我注意到它会导致内存泄漏。也许我做错了什么或者有更有效的方法?