来源于某教学视频。。。
REGEXP 正则表达式(默认情况下为贪婪模式,尽可能长的匹配内容)
Basic REGEXP 基本正则表达式
元字符
. 任意单个字符
[] 字符集中的单个字符(通配符中的方括号字符集也适用)
[^] 字符集范围外的单个字符
匹配次数
* 匹配其前面的字符任意次(包括0次)
.* 任意长度的任意字符
\? 匹配其前面的字符0次或1次(\为脱逸符)
\{m,n\} 匹配其前面的字符至少m次,至多n次
位置锚定
^ 锚定行首,后面的字符在行首出现
$ 锚定行尾,前面的字符在行尾出现
^$ 行首即行尾,也就是空白行
\<或\b 锚定词首,后面的字符在单词首部出现(广义的单词,不含特殊字符的连续字符串)
\>或\b 锚定词尾,前面的字符在单词尾部出现
分组
\(\) 括号内字符做为一个整体匹配,\(ab\)*,代表ab做为一个整体,出现任意次
\1 调用前面第1个左括号及对应右括号所引用或匹配到的内容
\2 调用前面第2个左括号及对应右括号所引用或匹配到的内容,以此类推
Extended REGEXP 扩展正则表达式(grep的-E参数可启用扩展正则表达式)
+ 匹配其前面的字符若干次(至少1次或更多),相当于基本正则表达式的\{1,\}
| 或者,ab|cd表示匹配ab或者cd
?{}() 意义与基本正则表达式相同,但不用加\脱逸符
grep
-A # 匹配行以及后续#行 After?
-B # 匹配行以及前面#行 Before?
-C # 匹配行以及前后#行 Center?