正则表达式怎么匹配某些条件并且排除某些条件

比如字符串:

"<div>哈哈哈</div><div>哈哈哈呵哈</div><div>哈哈</div>"

想要匹配到<div>和</div>之间的内容 , 并且这些内容里不能包含"呵"。

匹配结果应该是["哈哈哈","哈哈"]。

这样该怎么办实现呢?


补充一下..

"<div>哈耍哈↑哈</div><div>哈哈哈耍流氓哈</div><div>哈↑流氓哈</div>"

想要匹配到<div>和</div>之间的内容 , 并且这些内容里不能包含"耍流氓"这一完整的词 , 但是得包含"↑"。

阅读 7.5k
2 个回答
'<div>哈哈哈</div><div>哈哈哈呵哈</div><div>哈哈</div>'.match(/<div>[^呵]+?<\/div>/g)
const str = "<div>哈哈哈</div><div>哈哈哈呵哈</div><div>哈哈</div>"

    let arr = str.match(/<div>[^呵]+?<\/div>/g)
    
    arr = arr.map(function(index){
        return index.replace(/<\/?div>/g,'');
    });
    console.log(arr);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进