要匹配的字符:<p><span>11111111111111111</span><br><span>222222222222222222222222</span><br><span>33333333333333333333333333333</span></p><p><span>44444444444444444444444444444</span><br><span>55555555555555555555555555555</span><br><span>66666666666666666666666</span></p>要匹配出的结果:<span>66666666666666666666666</span>就是要匹配以最后一个</p>结尾,到离他最近<br>之间的所有的字符

解决方案 »

  1.   

    这样可以否
    var s = '<p><span>11111111111111111</span><br><span>222222222222222222222222</span><br><span>33333333333333333333333333333</span></p><p><span>44444444444444444444444444444</span><br><span>55555555555555555555555555555</span><br><span>66666666666666666666666</span></p>'; var lastBrIndex = s.lastIndexOf('<br>');
    var lastPIndex = s.lastIndexOf('</p>');
    s = s.substring(lastBrIndex+4,lastPIndex)
    alert(s)
      

  2.   

    Try:/((?!<br>).)*(?=<\/p>)/g
      

  3.   


    (?<=<br>)((?!<br>).)*(?=<\/p>$)改成这样就行了
      

  4.   

    以为你要用Js 正则呢
    在JS中 是不支持 (?<= )的