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

简介:

场景说明:

在多行文本中,排除包含特定字符串的行。"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

参数



     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1434967,如需转载请自行联系原作者


相关文章
|
2月前
|
JavaScript 前端开发 Java
|
2月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
2月前
|
JavaScript 前端开发
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
|
8月前
|
Python
133 python高级 - 正则表达式(原始字符串)
133 python高级 - 正则表达式(原始字符串)
35 0
|
9月前
|
C++
使用 ABAP 正则表达式提高字符串解析的执行效率
使用 ABAP 正则表达式提高字符串解析的执行效率
|
10月前
|
程序员
用正则表达式判断字符串形式正误(例:判断电话号码属地是否为中国大陆)
用正则表达式判断字符串形式正误(例:判断电话号码属地是否为中国大陆)
53 0
|
3天前
|
Java
正则表达式替换字符串的方法
正则表达式替换字符串的方法
|
20天前
|
Python
Python使用正则表达式分割字符串
在Python中,你可以使用re模块的split()函数来根据正则表达式分割字符串。这个函数的工作原理类似于Python内置的str.split()方法,但它允许你使用正则表达式作为分隔符。
|
3天前
|
数据采集 Java 开发者
正则表达式替换字符串的最佳实践与应用
正则表达式替换字符串的最佳实践与应用
|
2月前
|
Linux Perl
使用awk和正则表达式过滤文本或字符串 - 详细指南和示例
使用awk和正则表达式过滤文本或字符串 - 详细指南和示例
99 0