正则表达式排除特定字符串

场景说明:html

在多行文本中,排除包含特定字符串的行。"grep -v"可以很好的解决,而且kmp算法正则表达式

也可以解决这个问题。可是若是规定使用正则表达式,是否能够完成这个任务。在探索的过程当中,算法

也了解grep一些不支持的语法。ide

- grep 之下不支持 ? 与 + 这两种 modifier, 但 egrep 则可.工具

- grep 不支持 a|b 或 (abc|xyz) 这类"或一"比对, 但 egrep 则可.测试

- grep 在处理 {n,m} 时, 需用 { 与 } 处理, 但 egrep 则不需.spa


参考文献:htm

http://www.cnblogs.com/wangqiguo/archive/2012/05/08/2486548.htmlblog


解决方案:字符串

例如,须要排除包含abc子串的行,能够这样子写:^(?!.*abc).*$


在正则表达式工具Regexbuddy中测试经过,可是在grep和egrep皆没法实现该功能,若是不使用-v

参数