LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1853|回复: 3

匹配排除关键字的正则表达式怎样写

[复制链接]
发表于 2009-1-15 08:36:37 | 显示全部楼层 |阅读模式
请教高手有没有正则表达式能实现
例如,匹配所有字符串除了“36000”和“4211”
abc       匹配
44001  匹配
4211    不匹配
36000  不匹配

想不到应该怎样写

[^(36000|4211)] 得不到想要的结果。求大虾指教!
发表于 2009-1-15 21:09:52 | 显示全部楼层
egrep -v "36000|4211"
回复 支持 反对

使用道具 举报

发表于 2009-1-15 21:44:10 | 显示全部楼层
[]只匹配单个字母,[^]也一样。可以考虑使用(?!...)模式,见插图:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-28 07:44:17 | 显示全部楼层
问题解决了,谢谢zhasm指教!
最后用了这个形式:
(?!(36000|4211)$).*

因为还要满足这个条件
42111 匹配
360000 匹配
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表