c++中使用boost::regex(由于标准库中版本过低,导致不支持多行,需手动编译添加最新版的boost库)
- //如去掉asp、jsp、php文件中的注释
- //vs2010中默认的标准库中不支持(?ms)多行,手动编译添加boost::regex库(如boost1.5.2)
- //FileData为文件内容
- boost::regex reg_uncomment("(?ms)<script\\s+type=\"text/javascript\">.*?</script>|\"\"[^\"\"]*\"\"|/\\*.*?\\*/|[^:|'|\\\\|\\}]//.*?$");
- std::string newtext2 = boost::regex_replace(FileData, reg_uncomment, std::string(" "));