Tag Archives: 正则

正则表达式中的不包含

需求:找出包含@,但@后面不是sina的行 支持零宽匹配的写法:@(?!sina),在Regular Expressions Tester中的结果如下 可惜的是shell下的grep不支持零宽匹配,可以用下面这个变通的方法: adam@adam-desktop:~$ echo “mail from abc@sinb.com” | egrep  ‘.*@([^s]|s([^i]|i([^n]|n[^a])))’ mail from abc@sinb.com 后来发现在grep中使用-P后可以支持零宽匹配 adam@adam-desktop:~$ echo “mail from abc@sinb.com” | grep -P ‘.*@(?!sina)’ mail from abc@sinb.com 参考文章: 正则表达式–零宽断言详解 使用grep和正则来分析Web服务器日志(零宽断言-正则环视)