平时不怎么用,要用,网上一个有用的没有,搜索半天,才找到1-2个靠谱的,总结下:
(?=AAA)^(?=(?!BBB|CCC|DDD).*)$ // 包含AAA,并不包含BBB,CCC,DDD
上条命令过不了实测
改为 (?=AAA)^((?!BBB).)*$ ,似乎可以,但前提是AAA是在开头 ,等于没用!
可行的方法:
^.*AAA((?!BBB).)*$
^.*AAA((?!BBB|CCC|DDD).)*$
解释下:
((?!BBB).)* 等于 .*, 其中 . 又等于(?!BBB) 也就是不包括 BBB的字符串
单独过滤,不要某些:
^(?!.*?BBB).*$
西方人的逻辑,是TM厉害