前面我们聊过了基础正则,本节开始来聊一聊扩展正则吧!
首先我们要知道常用的扩展正则符号都有哪些:
+,|,{},(),?
1,+ :表示前一个字符出现1次或1次以上。
这里没有返回结果是因为grep默认只能识别基础正则,对于扩展正则语法无法识别。
第一种方式是使用 egrep,e表示extrem扩展的意思。
第二种方式是增加参数 -E。
第三种方式则是可以对扩展符号前加转义字符。
+多和[]匹配使用
匹配0-9出现1次或1次以上的行。
2,| :表示或者的意思。
[]和 | 的区别:
[]中的内容是1次只匹配1个字符 。eg:[abc]表示匹配a,b,c三个中的任意一个。
| 表示或的意思,匹配一个或多个字符,order | old | ext 表示三者匹配任一即可。
3,():表示括号内的内容为一个整体,反向引用(多用于sed命令)。
4,{} :表示连续出现,o{n,m}表示字母 o至少连续出现了 n次,最多连续出现了m次; o{n} 表示字母o只出现n次;
5,?:表示前一个字符连续出现 0 次或 1 次。