我想求下面代码str中<img标签的数量,但是标签<>中不能包括bbb和ccc这两个字符串,请问用正则该怎么获取到我想到的标签数量
<script>
var str = '<img-aaa-zzz> <img-bbb-zzz> <img-ccc-zzz> <img-aaa-zzz>';
var hits = str.match(/\<img/ig);if (hits){
alert(hits.length);
} else {
alert('0');
}
</script>

解决方案 »

  1.   

    用string s = "你的字符串";
    var length1 = s.spit("aaa");var length2 = s.spit("bbb");
    就可以了啊
      

  2.   

    str.match(/<img[^bbb|ccc]*>/gi).length
      

  3.   

    lieri111的方法不具备通用性prototyper的方法测试不正确,我想排除其中的某些字符串
      

  4.   


    var reg = /<img\b((?!bbb|ccc)[\w\W])*>/ig;
      

  5.   

    var reg = /<img\b((?!bbb|ccc)[^>])*>/ig;
      

  6.   

    wcwtitxu的方法正解!<script>
    var str = '<img-aaa-zzz> <img-bbb-zzz> <img-aa-zzz> <img-aaa-zzz>';
    var hits = str.match(/<img\b((?!bbb|ccc)[^>])*>/ig);if (hits){
        alert(hits.length);
    } else {
        alert('没有');
    }
    </script>