(.*) <div> (.*) <\/div> (.*) 
我想用这个正则表示下面的1111 可是是错的 ,正确的应该怎么写啊 
0000 <div> 1111 </div> 2222 <div> 3333 </div> 4444 

解决方案 »

  1.   

    你的正则第一个(.*)就匹配了0000  <div>   1111   </div>   2222  试试这样(.*?)<div>(.*?)<\/div>(.*)   
     
      

  2.   

    只想匹配1111应该<script>
    str="0000   <div>   1111   </div>   2222   <div>   3333   </div>   4444    "
    reg=/<div>(.*?)<\/div>/
    alert( str.match(reg)[1] )
    </script>
      

  3.   


    <div>.*?<\/div>直接这个就可
      

  4.   

    <script language="javascript" type="text/javascript">
    <!--
       var a="0000<div>1111</div>2222<div>3333</div>4444";
       var b=/<div>(.*?)<\/div>/;
       alert(b.exec(a)[1]);
    -->
    </script>
      

  5.   

    最好是
    var re = /<div[^>]*>([\s\S]*?)<\/div>/ig;
    while(re.exec(str))
        alert(RegExp.$1);
      

  6.   

    (.*)   <div>   (.*)   <\/div>   (.*)   
    要匹配下面的111,不是行的
    0000   <div>   1111   </div>   2222   <div>   3333   </div>   4444  
    如果确定是111的话,就因该是
    <div>111<\/div>要不,<div>333</div>怎么办?还有别的呢?其实单纯的匹配111的话就不用写正则了如果匹配所以标签内的111,那么应该
    <(.*)>111<\/\1>
    如果取所有<div></div>内的数据,应该
    <div>(.*?)</div>