原文链接: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 使用花括号要加转义符{} |