本帖最后由 jinkuang45 于 2011-01-14 10:15:09 编辑

解决方案 »

  1.   

    javascript正则不可能做到~
    你递归吧 别考虑正则了~
      

  2.   

    这个是string 
    要是能 我当然直接就getid啦, 只要能用js取出内容就行 方法不限
      

  3.   

    先把string ==> dom 然后再操作。
      

  4.   

    先放页面上再操作??
    要是 该页也有个 同ID 的DIV 呢???
      

  5.   

    <script>
    alert(document.getElementById("test").innerHTML)
    </script>
      

  6.   


    正则做这个不准确,准确的应是字符串paser可以先生成一个新的div,放在body后,操作这个新的div
      

  7.   

    参考一下~<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <script type="text/javascript">
    window.onload = function(){
    var str = document.getElementById("t").innerHTML; //获取字符串,用字符串来处理。
    var hidden = document.createElement("div");
    hidden.style.display = 'none';
    hidden.innerHTML = str;
    document.body.appendChild(hidden);
    var i = document.getElementById("test").innerHTML;
    document.body.removeChild(hidden);
    alert(i);
    };</script>
    <style type="text/css"></style>
    </head><body>
    <div id="t">
    <DIV>asdasdas</DIV>

    <DIV id="test"> *******要匹配出这里的内容,这里也有很多标签,可能也有DIV********* </DIV>

    <DIV>asdasdas</DIV>
    </div>
    </body>
    </html>
      

  8.   

    保证 asdasdas 不会在正文里出现,用正则或普通字符串处理都不难
      

  9.   

    <div .*?\bid=['"]test['"]\b?.*?>(?:[^<>]*(<div[\s\S]*>[\S\s]*?</div>)?[^<>]*)*?</div>
    试试这个吧
      

  10.   


      <SCRIPT LANGUAGE="JavaScript">
      <!--
    var d='<DIV>asdasdas</DIV><DIV id="test" class="bb">*******asdasdasdas*********</DIV><DIV id="bb">asdasdas</DIV>'
    var m;
    d.replace(/.*?<DIV.*?id=\"test\".*?>([^<]*?)<\/DIV>(.*?)/,function(a,b,c){ m=b;return b;})
    alert(m)
      //-->
      </SCRIPT>
      

  11.   

    呵呵<DIV>asdasdas</DIV><DIV id="test" class="bb">*******as<div>dasda</div>sdas*********</DIV><DIV id="bb">asdasdas</DIV>怎么办
    <div><div><div></div></div></div></div></div>呢
      

  12.   

    其实js的正则来写嵌套是走不通的
    .net的平衡组可以解决。
    js中如果可以转换为dom 那操作dom最方便
    如果不能 则只能递归了。用出入栈也行
      

  13.   

    var s="\n\
    <DIV>asdasdas</DIV>\n\
    <DIV id=\"test\">\n\
    *******要匹配出这里的内容,这里也有很多标签,可能也有DIV*********\n\
    </DIV>\n\
    <DIV>asdasdas</DIV>\n\
    <DIV id=\"test\">\n\
    *******要匹配出这里的内容,这里也有很多标签,可能也有DIV*********\n\
    </DIV>\n\
    <DIV>asdasdas</DIV>";var r=/(<DIV>asdasdas<\/DIV>)[\s\r\n]*<DIV id="test">([\s\S]+?)<\/DIV>[\s\r\n]*(?=\1)/ig
    while(ar=r.exec(s)){
    print(ar[2]);
    }