您的位置:首页 > 其它

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

2014-07-06 10:24 204 查看
场景说明:
在多行文本中,排除包含特定字符串的行。"grep -v"能够很好的解决,并且kmp算法
也能够解决这个问题。但是如果规定使用正则表达式,是否可以完成这个任务。在探索的过程中,
也了解grep一些不支持的语法。
- grep 之下不支持 ? 与 + 这两种 modifier, 但 egrep 则可.
- grep 不支持 a|b 或 (abc|xyz) 这类"或一"比对, 但 egrep 则可.
- grep 在处理 {n,m} 时, 需用 { 与 } 处理, 但 egrep 则不需.

参考文献: http://www.cnblogs.com/wangqiguo/archive/2012/05/08/2486548.html
解决方案:
例如,需要排除包含abc子串的行,可以这样子写:^(?!.*abc).*$

在正则表达式工具Regexbuddy中测试通过,但是在grep和egrep皆无法实现该功能,如果不使用-v
参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息