博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux通配符
阅读量:6798 次
发布时间:2019-06-26

本文共 1051 字,大约阅读时间需要 3 分钟。

shell 通配符

通配符与正则表达式的区别
1、用途不同
通配符用于通配文件名,正则表达式用于匹配文本内容
2、使用地点不同
通配符通常只能用于shell,被shell自解释。
正则表达式需要被正则引擎解析,需要用于支持正则表达式的代码或命令中。
3、元字符不同
通配符只有三个元字符,正则表达式根据正则引擎不同会多种多样。
并且相同元字符表示的含义也可能不同。如通配符中表示匹配任意字符,正则中表示前面的字符重复0或任意次。

*   匹配 0 或多个字符  a*b  a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。?    匹配任意一个字符   a?b  a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。[list]  匹配 list 中的任意单一字符    a[xyz]b   a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。[!list]     匹配 除list 中的任意单一字符   a[!0-9]b  a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] a[0-9]b  0与9之间必须也只能有一个字符 如a0b, a1b... a9b。{string1,string2,...}   匹配 sring1 或 string2 (或更多)其一字符串  a{abc,xyz,123}b    a与b之间只能是abc或xyz或123这三个字符串之一。

特殊通配

范围匹配:

[0-9]:表示匹配数字[a-z]:表示匹配小写字母[A-Z]:表示匹配大写字母

范围匹配取反:

[^0-9]:表示匹配非数字``[^a-z]:表示匹配非小写字母`[^A-Z]:表示匹配非大写字母

特殊匹配方式:

[[:space:]]:表示匹配空白字符[[:punct:]]:表示匹配标点符号[[:digit:]]:表示匹配数字[[:lower:]]:表示匹配小写字母[[:upper:]]:表示匹配大写字母[[:alpha:]]:表示匹配字母,不区分大小写[[:alnum:]]:表示匹配字母数字。

特殊匹配方式也支持取反,取反方式如下:

[^[::]]

转载于:https://blog.51cto.com/yueboking/2146063

你可能感兴趣的文章
最长公共前缀---简单
查看>>
课程引言作业一
查看>>
like 大数据字段 查询慢
查看>>
JSON 数据格式
查看>>
Django----解决跨域
查看>>
SQL聚合函数
查看>>
Eclipse配色方案
查看>>
字符编码,文件处理
查看>>
Nginx配置文件解析
查看>>
Deep learning:二十六(Sparse coding简单理解)
查看>>
STL中rotate算法的理解
查看>>
KnockOutJs初次体验
查看>>
数据库中函数
查看>>
爬虫综合大作业
查看>>
[shell命令] ln 将文件链接到其他目录下
查看>>
hibernate框架
查看>>
MapperScannerConfigurer
查看>>
下载本 WebEnh博客 安卓APP
查看>>
UNIX环境高级编程——守护进程列表
查看>>
linux物理内存探测
查看>>