上一章我们主要探讨了通配符和基础正则表达式,这章重点探讨扩展正则表达式的应用。笨办法学linux:linux正则表达式详解(一) -通配符与基本正则表达式zhuanlan.zhihu.com
基本正则表达式包含:
^, $, ., [], *
扩展正则添加了:
(), {}, ?, +, |
() 将多个字符组成一个整体
实例:
? 匹配前面字符0次或者1次
实例:
+ 匹配前面字符1次或者多次
实例:
| 或
实例:
实例应用:
判断合法ip:
解析:
egrep "^[1-9]{1,3}.(([1-9]{1,3}|0{1}).){2}[1-9]{1,3}$" t
^[1-9]{1,3}. 用于去除非数字和0开头的字符,.是还原.本身的含义。
(([1-9]{1,3}|0{1}).){2} 用于防止出现多个0的现象,如果是0只能出现一次,否则可以出现1到3次,然后重复2次。
[1-9]{1,3}$ 最后一段,防止出现非数字的字符出现,为什么不和第二行合并呢?因为.不能重复3次。
正则表达式的入门就先介绍到这,后面讲结合实际应用在进行讲解,获取文章更新,以及常用软件,可以关注公众号: 笨办法学linux