js正则表达式,替换一个字符串的问题
本帖最后由 WDYDXF 于 2013-03-13 13:37:47 编辑 html源代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<script src="../js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//deletebegin
$('.action,.description').bind('click', function () {
$('.clickcss').removeClass('clickcss');
$(this).addClass('clickcss');
parent.g_AllElement.InsertSingleElement(this.id)
});
//deleteend
//insertjsbegin
//阿斯顿法师打发
alert("");
//insertjsend
});
//deletebegin
function TempExecEffect(effectstr) {
try {
eval(effectstr);
}
catch (e) {
alert(e.message);
}
}
//deleteend
</script>
</head>
<body>
<div id="out" class="out">
</div>
</body>
</html>
使用js正则表达式,将位于//insertjsbegin和//insertjsend之间的所有代码全部删除,删除后的html结果为:
<html>正则表达式 js
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<script src="../js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//deletebegin
$('.action,.description').bind('click', function () {
$('.clickcss').removeClass('clickcss');
$(this).addClass('clickcss');
parent.g_AllElement.InsertSingleElement(this.id)
});
//deleteend
//insertjsbegin
//insertjsend
});
//deletebegin
function TempExecEffect(effectstr) {
try {
eval(effectstr);
}
catch (e) {
alert(e.message);
}
}
//deleteend
</script>
</head>
<body>
<div id="out" class="out">
</div>
</body>
</html>
[解决办法]
(?is)(?<=(<!--deletebegin-->
[解决办法]
//deletebegin)).*?(?=(<!-- deleteend-->
[解决办法]
//deleteend))
Regex.Replace(html, @"(?is)(?<=(<!--deletebegin-->
[解决办法]
//deletebegin)).*?(?=(<!-- deleteend-->
[解决办法]
//deleteend))", "");