一、通配符
用途:Shell匹配相关文档
- *:任意长度的任意字符
- ?:任意一个字符
- [string]:string字符串中的一个字符
- {string1,string2...}:括号内任意一个字符串
二、正则表达式
用途:广泛,例如grep搜索、nginx配置文件书写
-
^:字符串的开头
-
$:字符串的结尾
-
.:任意一个字符
-
[]:字符范围,如[a-z]
-
*:重复前一个符号,数量0或多次,和.配合组成.*表达成任意字符串
-
?:重复前一个符号,数量0-1次
-
+:重复前一个符号,数量1或多次
-
{n}:重复前一个符号,数量n次
-
{n,}:重复前一个符号,数量n次或以上
-
{n,m}:重复前一个符号,数量n到m次,包括边界
上述字符要使用普通字符的话,需要在前面加上\字符(转义字符)
- []中可以使用匹配模式,注意是在[]中加入下面任意完整字符串,如[[:alpha:]]:
匹配模式 | 含义 |
---|---|
[:alnum:] | 字母与数字字符 |
[:alpha:] | 字母 |
[:ascii:] | ASCII字符 |
[:blank:] | 空格或制表符 |
[:cntrl:] | ASCII控制字符 |
[:digit:] | 数字 |
[:graph:] | 非控制、非空格字符 |
[:lower:] | 小写字母 |
[:print:] | 可打印字符 |
[:punct:] | 标点符号字符 |
[:space:] | 空白字符,包括垂直制表符 |
[:upper:] | 大写字母 |
[:xdigit:] | 十六进制数字 |
参考链接:linux通配符和正则表达式_韩帅平的博客-CSDN博客_linux正则表达式
大佬的全面点,我截取了自己需要的。