我认为正如其他人所说,HtmlAgility包是最好的选择。 我用它来刮去并去掉一些难以转角的箱子。 但是,如果一个简单的正则表达式是你的目标,那么也许你可以尝试<script(.+?)*</script>
。 这将删除令人讨厌的嵌套javascript以及普通的东西,即链接中引用的类型( 提取脚本标记的正则表达式 ):
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
if (window.self === window.top) { $.getScript("Wing.js"); }
</script>
<script> // nested horror
var s = "<script></script>";
</script>
</head>
</html>
用法:
Regex regxScriptRemoval = new Regex(@"<script(.+?)*</script>");
var newHtml = regxScriptRemoval.Replace(oldHtml, "");
return newHtml; // etc etc