正则表达式判断包含多个关键词,并且不能包含某个关键词的条件怎么写

正则表达式判断包含多个关键词,并且不能包含某个关键词的条件怎么写

正则表达式判断包含多个关键词,并且不能包含某个关键词的条件怎么写

比如:匹配字符串中可以是 张明 或 李红 或 赵虎

但是这个字符串中不能包含 王磊,因为这个字符串中个别会包含王磊,所以要判断去掉它

这个正则表达式怎么写呢?多谢

/^(?!.*王磊).*(张明|李红|赵虎)/

var arr = ["我是李红","我是王伟","我是王磊张明","我是张明"];
arr.forEach(function(v, i){
    console.log(v,/^(?!.*王磊).*(张明|李红|赵虎)/.test(v));
});

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

由于不知道你的文档是怎么样的有没有什么格式,我就以空格来演示了


import re

a = "匹配字符串中可以是 张明 或 李红 或 王磊 "
print(re.findall(" (.{2}) ",a))
print(re.findall(" ([^王][^磊]) ",a))

img