一段正则表达式匹配的问题

html部分

<ul class="search1">
                     <li><a href="#" target="_blank"><i></i><b>一拖集团公司有限股份</b><div class="clear"></div></a></li>
                     <li><a href="#" target="_blank"><i></i><b>而拖集团公司有限股份</b><div class="clear"></div></a></li>
                     <li><a href="#" target="_blank"><i></i><b>三拖集团公司有限股份</b><div class="clear"></div></a></li>
                     <li><a href="#" target="_blank"><i></i><b>一拖集团公司有限股份</b><div class="clear"></div></a></li>
                     <li><a href="#" target="_blank"><i></i><b>一拖集团公司有限股份</b><div class="clear"></div></a></li>
                     <li><a href="#" target="_blank"><i></i><b>一拖集团公司有限股份</b><div class="clear"></div></a></li>
      </ul>

js部分

var str = '三拖';
    reg = new RegExp('<li><a href="#" target="_blank"><i><\/i><b>.*'+str+'.*<\/b><div class="clear"><\/div><\/a><\/li>','g');
    var str=$('.search1:eq(0)').html().toString();
        str = str.match(reg);
    console.log(str);
    console.log(reg);

这种匹配是正常的,但是我现在的需求是取反,取出所有不带三拖的li来,试了几种,都没成功,特来请求指点

阅读 2.6k
3 个回答
reg = new RegExp('<li><a href="#" target="_blank"><i><\/i><b>(?!三拖).*<\/b><div class="clear"><\/div><\/a><\/li>','g');

$('.search1').children().not(":contains('三拖')")

var str = '三拖';

reg = new RegExp('<li><a href="#" target="_blank"><i><\/i><b>.*'+str+'.*<\/b><div class="clear"><\/div><\/a><\/li>','g');
var str1=$('.search1:eq(0)').html().toString();
    str = str1.match(reg);
    str1 = str1.replace(str[0],"")
console.log(str1);
console.log(reg);

是这样吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题