源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&amp;uploadURL=%2FLcms%2FHTMLTemplate%2FTemplate1%2F..%2F..%2FFiles%2FFileUpload.ashx&amp;useQueryString=false&amp;requeueOnError=false&amp;httpSuccess=&amp;assumeSuccessTimeout=30&amp;params=upload%3Dfile%26amp%3Bfilecode%3D88888&amp;filePostName=Filedata&amp;fileTypes=*.jpg&amp;fileTypesDescription=select%20file&amp;fileSizeLimit=4MB&amp;fileUploadLimit=0&amp;fileQueueLimit=1&amp;debugEnabled=false&amp;buttonImageURL=%2FLcms%2FHTMLTemplate%2FTemplate1%2F&amp;buttonWidth=100&amp;buttonHeight=30&amp;buttonText=&amp;buttonTextTopPadding=0&amp;buttonTextLeftPadding=0&amp;buttonTextStyle=color%3A%20%23000000%3B%20font-size%3A%2016pt%3B&amp;buttonAction=-100&amp;buttonDisabled=false&amp;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

解决方案 »

  1.   

    不知道想表达的意思。
    把div内容全部替换吗?只用简单的JS或者JQuery就可以实现。正则大多用于验证,LZ想验证什么东西?
      

  2.   

    笨一点的方法就这样吧。
    <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>不要不然就得写嵌套的了。
      

  3.   

    可能参照这个
    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>>
      

  4.   

      string str = System.IO.File.ReadAllText("D:\\1.txt", Encoding.Default);
                str = Regex.Replace(str, @"(?is)<div\s*id=""deletediv"">((?<g><div)|(?<-g></div>)|(?!</?div).)*(?(g)(?!))</div>", "");
             
      

  5.   

    如果仅把<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);
    如果是把<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);
      

  6.   

    string result = Regex.Replace(s, @"(?is)<div\s*id=""deletediv"">((?<Open><div>)|(?<-Open></div>)|.*?)*?(?(Open)(?!))</div>", string.Empty);