var s=document.getElementById("asd").value;
var p=/<div(.*)<\/div>/gim;
var msg=p.exec(s);
alert(RegExp.$1);
 源字符串如下:
<div id="Title">
<a href="/Index.aspx" target="_blank"><b>首页</b></a></div>   ,这样的字符串上面的正则式无法提取但是如果不换行  <div id="Title"><a href="/Index.aspx" target="_blank"><b>首页</b></a></div>   就能提取我的正则式有上面错误吗?

解决方案 »

  1.   

    var p=/<div(/s*)<\/div>/gim;
    无论换不换行都无法找到匹配的.
      

  2.   

    嗯,点号(.)只能匹配非换行符,改成:
    var p=/<div((.|\n)+)<\/div>/gim;
      

  3.   

    var p=/<div(.*)<\/div>/gsim;
      

  4.   

    饿,上面的是as中的写法,下面的可用于js
    var p=/<div([.\n]*)<\/div>/gsim;
      

  5.   


    var p=/<div([\S\s]*)<\/div>/gim;
      

  6.   

    var p=/<div(\s*)<\/div>/gim;或者
    var p=/<div((.|\n)*)<\/div>/gim;都是一个都不能匹配
      

  7.   


    /<div((.|\n)*)<\/div>/gim;
    *换成+就行了  怎么回事?
    *不是对前面的匹配0或者多次吗?
      

  8.   

    lz试试我这个:var p=/<div([\S\s]*)<\/div>/gim;
      

  9.   

    /<div((.|\n)*)<\/div>/gim;
    *换成+就行了 怎么回事?
    *不是对前面的匹配0或者多次吗?
    ---------------------------------
    *和+号一样效果的,你再试试。用lemon520的应该也可以。
      

  10.   

    我知道括号中间要构造一个可以包含所有字符的就可以了

    root_lee
    兄写的为哈不能通过?
      

  11.   

    应该是  dojotoolkit兄的效率好点
      

  12.   

    <div id="Title">
    <a href="/Index.aspx" target="_blank"><b>首页</b></a></div> <div id="sub">
    <a href="/sub.aspx" target="_blank"><b>sub</b></a></div> 如果源字符串是这样的话,提取每一个div之间的数据 应该怎么搞呢?
      

  13.   

    中括号中的.不会被转义,[.]就直接匹配点号字符。/<div[^>]*>((.|\n)*)<\/div>/ig
    这个匹配你下面的问题。
      

  14.   

    try...<textarea id="source" rows="10" cols="100"></textarea><br />
    <input type="Submit" value="处理" onclick="opt();"><br />
    <textarea id="result" rows="10" cols="100"></textarea><br /> 
    <script type="text/javascript"> 
    function opt()
    {
       var str = document.getElementById("source").value;
       var reg = /<div[^>]*>[\s\S]*?<\/div>/ig;
       var arr = str.match(reg);
       for(var i=0;i<arr.length;i++)
       {
           document.getElementById("result").value += arr[i] + "\n-----------\n";
       }
    }
    </script>