为了账号安全,请及时绑定邮箱和手机立即绑定

匹配除指定字符串外的所有内容

匹配除指定字符串外的所有内容

交互式爱情 2019-12-17 09:42:09
我知道以下正则表达式将匹配“红色”,“绿色”或“蓝色”。red|green|blue是否有一种简单的方法可以使它匹配除几个指定字符串以外的所有内容?
查看完整描述

3 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

如果要确保该字符串既不是红色,绿色也不是蓝色,那么caskey的答案就是这样。但是,通常需要确保该行的任何位置都不包含红色,绿色或蓝色。为此,将正则表达式与锚定^并包含.*在否定的lookahead中:


^(?!.*(red|green|blue))

另外,假设您想要包含单词“ engine”但没有任何这些颜色的行:


^(?!.*(red|green|blue)).*engine

您可能会认为可以.*将正则表达式的开头作为因素:


^.*(?!red|green|blue)engine     # Does not work

但是你不能。您必须同时具有两个实例.*才能正常工作。


查看完整回答
反对 回复 2019-12-17
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

取决于语言,但是通常可以这样输入否定断言:


(?!red|green|blue)

(感谢语法修复,以上是有效的Java和Perl,YMMV)


查看完整回答
反对 回复 2019-12-17
  • 3 回答
  • 0 关注
  • 766 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信