尝试构建一个匹配一个或其他字符串的正则表达式,除非第三个字符串匹配。
e.g。 1.如果字符串有“从不”,则不匹配 2.如果字符串包含'失望'或'不开心',则匹配。
我尝试过使用 ((失望)|(不高兴))((从来没有)$?!)。*
问题是 - 它没有抓住否定(上面的#1)。即它匹配下面的所有3,而它应该只匹配下面的2和3。
永远不会失望非常失望
不高兴失望
答案 0 :(得分:2)
您可以使用
^(?!.*never).*(disappointed|unhappy).*
请参阅regex demo。
<强>详情:
^
- 字符串开头(?!.*never)
- 除了换行符之外的任何0+字符之后都不会出现never
子字符串(如果使用DOTALL修饰符,则为任何字符).*
- 除了换行符之外的任何0 +字符(disappointed|unhappy)
- 两个文字字符序列之一.*
- 除了换行符之外的任何0 +字符