前面的文章使用到的都是基础型正则表达式,接下来介绍扩展性正则表达式
一、扩展型正则表达式的引入(egrep)
1.案例
- 我们使用grep查询文件中非空白行,并且不是#开头的注释行
grep -v '^$' regular_express.txt |grep -v '^#'
- 但是扩展型正则表达式可以使用下面方法
egrep -v '^$|^#' regular_express.txt
2.grep与egrep
- grep只支持基础型正则表达式
- egrep可以使用扩展型正则表达式(egrep其实就是grep -E的别名)
二、扩展型正则表达式所支持的字符
+ | 含义:重复【一个或一个以上】前一个字符 例如:o+代表'o'、'oo'、'ooo'、.... |
? | 含义:【0个或一个】前一个字符 例如:o?代表' '、'o' |
| | 含义:用或的方式查找字符串 例如:egrep -n 'gd|good' 1.txt(查找1.txt中含有gd或good的行) |
( ) | 含义:找出【群组】字符串 例如:查找glad或good字符串(egrep -n 'g(la|oo)d' 1.txt) |
( )+ | 含义:多个重复群组的意思 例如:查找A开头B结尾,中间有一个以上的xyz |