源html代码如下:
<div id="promo">
<div id="deletediv">
<div style="height: 30px; width: 100px;" class="uploadify" id="file_upload1">
<object style="position: absolute; z-index: 1;" id="SWFUpload_0" type="application/x-shockwave-flash"
data="js/jquery.uploadify/uploadify.swf?preventswfcaching=1361958323822" class="swfupload"
height="30" width="100">
<param name="wmode" value="transparent">
<param name="movie" value="js/jquery.uploadify/uploadify.swf?preventswfcaching=1361958323822">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="allowScriptAccess" value="always">
<param name="flashvars" value="movieName=SWFUpload_0&uploadURL=%2FLcms%2FHTMLTemplate%2FTemplate1%2F..%2F..%2FFiles%2FFileUpload.ashx&useQueryString=false&requeueOnError=false&httpSuccess=&assumeSuccessTimeout=30&params=upload%3Dfile%26amp%3Bfilecode%3D88888&filePostName=Filedata&fileTypes=*.jpg&fileTypesDescription=select%20file&fileSizeLimit=4MB&fileUploadLimit=0&fileQueueLimit=1&debugEnabled=false&buttonImageURL=%2FLcms%2FHTMLTemplate%2FTemplate1%2F&buttonWidth=100&buttonHeight=30&buttonText=&buttonTextTopPadding=0&buttonTextLeftPadding=0&buttonTextStyle=color%3A%20%23000000%3B%20font-size%3A%2016pt%3B&buttonAction=-100&buttonDisabled=false&buttonCursor=-2">
</object>
<div style="height: 30px; line-height: 30px; width: 100px;" class="uploadify-button uploadbutton"
id="file_upload1-button">
<span class="uploadify-button-text">图片</span></div>
</div>
<div class="uploadify-queue" id="file_upload1-queue">
</div>
</div>
<img id="img1custmor" src="" style="display: none;">
</div>使用正则,把<div id="deletediv">包含的内容全部替换掉,怎么做?谢谢正则表达式div
<div id="promo">
<div id="deletediv">
<div style="height: 30px; width: 100px;" class="uploadify" id="file_upload1">
<object style="position: absolute; z-index: 1;" id="SWFUpload_0" type="application/x-shockwave-flash"
data="js/jquery.uploadify/uploadify.swf?preventswfcaching=1361958323822" class="swfupload"
height="30" width="100">
<param name="wmode" value="transparent">
<param name="movie" value="js/jquery.uploadify/uploadify.swf?preventswfcaching=1361958323822">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="allowScriptAccess" value="always">
<param name="flashvars" value="movieName=SWFUpload_0&uploadURL=%2FLcms%2FHTMLTemplate%2FTemplate1%2F..%2F..%2FFiles%2FFileUpload.ashx&useQueryString=false&requeueOnError=false&httpSuccess=&assumeSuccessTimeout=30&params=upload%3Dfile%26amp%3Bfilecode%3D88888&filePostName=Filedata&fileTypes=*.jpg&fileTypesDescription=select%20file&fileSizeLimit=4MB&fileUploadLimit=0&fileQueueLimit=1&debugEnabled=false&buttonImageURL=%2FLcms%2FHTMLTemplate%2FTemplate1%2F&buttonWidth=100&buttonHeight=30&buttonText=&buttonTextTopPadding=0&buttonTextLeftPadding=0&buttonTextStyle=color%3A%20%23000000%3B%20font-size%3A%2016pt%3B&buttonAction=-100&buttonDisabled=false&buttonCursor=-2">
</object>
<div style="height: 30px; line-height: 30px; width: 100px;" class="uploadify-button uploadbutton"
id="file_upload1-button">
<span class="uploadify-button-text">图片</span></div>
</div>
<div class="uploadify-queue" id="file_upload1-queue">
</div>
</div>
<img id="img1custmor" src="" style="display: none;">
</div>使用正则,把<div id="deletediv">包含的内容全部替换掉,怎么做?谢谢正则表达式div
把div内容全部替换吗?只用简单的JS或者JQuery就可以实现。正则大多用于验证,LZ想验证什么东西?
<div id="deletediv"><div[\s\S]*?class="uploadify" id="file_upload1">[\s\S]*?</div>\s*</div>\s*<div[\s\S]*?>[\s\S]*?</div>\s*</div>不要不然就得写嵌套的了。
http://www.cnblogs.com/wonderfuly/archive/2011/07/18.html<(?<HtmlTag>div)[^>]*\sid=(?<Quote>["']?)deletediv(?(Quote)\k<Quote>)["']?[^>]*>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|[\s\S]*?)*</\k<HtmlTag>>
str = Regex.Replace(str, @"(?is)<div\s*id=""deletediv"">((?<g><div)|(?<-g></div>)|(?!</?div).)*(?(g)(?!))</div>", "");
string s = File.ReadAllText(Server.MapPath("~/test.txt"), Encoding.GetEncoding("gb2312"));
string r = Regex.Replace(s, @"(?is)(?<=<div id=""deletediv"">)((?<Open><div[^>]*>)|(?<-Open></div>)|.*?)*?(?(Open)(?!))(?=</div>)", string.Empty);
Console.WriteLine(r);
如果是把<div id="deletediv"></div>整个标签去掉,这么写:
string s = File.ReadAllText(Server.MapPath("~/test.txt"), Encoding.GetEncoding("gb2312"));
string r = Regex.Replace(s, @"(?is)<div id=""deletediv"">((?<Open><div[^>]*>)|(?<-Open></div>)|.*?)*?(?(Open)(?!))</div>", string.Empty);
Console.WriteLine(r);