正则表达式:
(使用一些特殊符号来表达)正则在计算机中为通用语言
[java php python shell grep vim sed awk ] [office ps AE...]都使用
基本正则兼容性强书写麻烦,几乎所有的软件都支持基本正则;扩展正则兼容性差书写简单不是所有软件都支持扩展正则;(grep不支持扩展则正则但是egrep支持)
基本正则
^ 开始
$ 结尾
[ ] 集合中任一单个字符
[abcdefg]=[a-g] [abcde123456]=[a-e1-6]
[abcdem1234568]=[a-e1-6m8]
grep “[abc]” 1.txt
This is a pig
This is abc (两个都能匹配出来)
[^] 对集合取反
. 代表任意单个字符
- 匹配前一个字符出现了n次
grep “abc” a.txt (匹配的是ab abc abcc abccc abcccc ......)
. 匹配所有
{n,m}匹配前一个字符出现n-m次
Grep “abc{3,5}” a.txt (匹配的是abccc abcccc abcccccc abccccccc ......)
{n,}匹配前一字符出现了n次或更多
{n}匹配前一字符出现了n次
Grep -i 不区分大小写 -v取反 -n显示行号 -c统计过滤出来的行数
扩展正则(优化基本、添加新的):
{n,m} 匹配字符出现n-m次({n,} {n}) 与{n,m}作用相同
? 匹配0或1次
- 1或大于一次 (? + 的作用与*的作用相同)
() 表示一个整体
| 表示或者 (test | taste)
\b 单词边界
() 保留<相当于赋值了一份>
()
本文转自 英强云计算 51CTO博客,原文链接:http://blog.51cto.com/13404755/2050753,如需转载请自行联系原作者