Linux中用来在文件中搜索字符串的命令,如grep, sed, awk等命令支持正则表达式与扩展正则表达式。
1. 基础正则表达式
符号 | 解释 | 示例 |
---|---|---|
* | 匹配0次或多次 | b.*t |
. | 匹配任意字符 | b.t |
^ | 匹配字符串的开始 | ^The |
$ | 匹配字符串的结束 | .exe$ |
[] | 匹配来自字符集的任意单一字符 | [aeiou] |
2. 扩展正则表达式
符号 | 解释 | 示例 | 说明 |
---|---|---|---|
+ | 匹配1次或多次 | b.+t | 可以匹配bat / bdaf23dsat / b4@#32t 等 |
? | 匹配0次或1次 | b.?t | 可以匹配bt / bat等 |
{N} | 匹配N次 | H.{3}o | 可以匹配Hello / H#@$o / H234o等 |
{M,} | 匹配至少M次 | H.{3,}o | 可以匹配Hello / Haaaaaaao / H234#@o等 |
{M,N} | 匹配至少M次至多N次 | Ha{3,5}o | 可以匹配Haaao / Haaaao / Haaaaao等 |
| | 分支 | foo|bar | 可以匹配foo或者bar |
(exp) | 匹配exp并捕获到自动命名的组中 | (dog)+ | 匹配dog、dogdog、dogdogdog等 |