我知道以下正则表达式将匹配“红色”,“绿色”或“蓝色”。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
但是你不能。您必须同时具有两个实例.*才能正常工作。
- 3 回答
- 0 关注
- 846 浏览
添加回答
举报
0/150
提交
取消