By francis_hao Oct 1,2017
这里的正则表达式主要是指扩展正则,也就是egrep(grep -e)用到的正则表达式。
字符 | 含义 | 类别说明 |
| | 分割分支,正则表达式会去匹配每个分支。一个正则表达式就是由一个或多个分支组成。 | |
* | 跟在原子数据后,匹配0个或多个原子数据 | *、+、?和bond是分支的基本组件,若干个这样的组件串接起来形成一个分支。 |
+ | 跟在原子数据后,匹配1个或多个原子数据 | |
? | 跟在原子数据后,匹配0个或1个原子数据 | |
{m,n} | 范围带(bond),可能的形式有:{m}、{m,}和{m,n}。m和n的取值范围为0~RE_DUP_MAX(255)。跟在原子数据后,匹配m-n个原子数据。 | |
() | 用()将原子数据包含起来,表示一个子匹配。一个空的()匹配一个空串。 | |
. | 匹配任意一个字符。 | |
^ | 匹配行首 | |
$ | 匹配行尾 | |
转义字符,可转义字符:"^.[$()|*+?{",对于其他字符,""无意义(相当于没有) {字符在后面跟了不是数字的字符时,表示一个普通字符,不需要转义。 正则表达式不能以""字符结尾。 | ||
[] | 表示匹配被[]括起来的字符集里的任意一个字符。
|
正则匹配遵循最长匹配原则
本文由 刘英皓 创作,采用 知识共享署名-非商业性使用-相同方式共享3.0中国大陆许可协议 进行许可。欢迎转载,请注明出处:
转载自:http://www.cnblogs.com/yinghao1991/p/7617004.html
参考
【1】man 7 regex