原文链接:https://blog.csdn.net/CSDN_dzh/article/details/85010236
原文链接:https://www.jb51.net/tools/shell_regex.html
基本正则和扩展正则
正则表达式 | 描述 | 示例 |
---|
\ | 转义符 | |
^ | 匹配行首 | |
$ | 匹配行尾 | |
. | 匹配除换行符\n之外的任意单个字符 | |
[] | 匹配包含在[字符]之中的任意一个字符 | |
[^] | 匹配[^字符]之外的任意一个字符 | |
[-] | 匹配[]中指定范围内的任意一个字符 | |
? | 匹配之前的项1次或者0次 | |
+ | 匹配之前的项1次或者多次 | |
* | 匹配之前的项0次或者多次 | |
() | 匹配表达式,创建一个用于匹配的子串 | |
{n} | 匹配之前的项n次,n是可以为0的正整数 | |
{n,} | 之前的项至少需要匹配n次 | |
{n,m} | 指定之前的项至少匹配n次,最多匹配m次,n<=m | |
| | 交替匹配|两边的任意一项 | |
元字符正则
正则表达式 | 描述 | 示例 |
---|
\b | 单词边界 | \bcool\b 匹配cool,不匹配coolant |
\B | 非单词边界 | cool\B 匹配coolant,不匹配cool |
\d | 单个数字字符 | b\db 匹配b2b,不匹配bcb |
\D | 单个非数字字符 | b\Db 匹配bcb,不匹配b2b |
\w | 单个单词字符 | (字母、数字与_) \w 匹配1或a,不匹配& |
\W | 单个非单词字符 | \W 匹配&,不匹配1或a |
\n | 换行符 | \n 匹配一个新行 |
\s | 单个空白字符 | x\sx 匹配x x,不匹配xx |
\S | 单个非空白字符 | x\S\x 匹配xkx,不匹配xx |
\r | 回车 | \r 匹配回车 |
\t | 横向制表符 | \t 匹配一个横向制表符 |
\v | 垂直制表符 | \v 匹配一个垂直制表符 |
\f | 换页符 | \f 匹配一个换页符 |
\0 | 空值符 | |
命令 | 描述 |
---|
grep | 默认不支持扩展表达式,加-E选项开启 ERE。如果不加-E使用花括号要加转义符{} |
egrep | 支持基础和扩展表达式 |
awk | 支持egrep所有的正则表达式 |
sed | 默认不支持扩展表达式,加-r 选项开启 ERE。 如果不加-r 使用花括号要加转义符{} |