通配符与正则表达式的学习

通配符与正则表达式的学习

二者的使用场景
  • 通配符主要作用于文件名的匹配,常用命令为ls、find、cp、mv

  • 正则表达式主要用于匹配文件中的字符串,常用命令为grep、awk、sed

通配符
通配符含义例子匹配
*匹配0个或多个字符a*以a开头的所有文件
[]匹配括号中的单个字符[abc]*/[a-c]*以abc中任意一个字符开头的文件
[!]/[^]匹配不在括号中的任意单个字符[!abc]*/[^abc]除了abc中任意字符开头的文件
?匹配任意单个字符a?.doc以a开头后接一个字符,并且以.doc结尾的文件
{}表示生成序列{a,b,c}*/{a…c}*以abc中任意一个字符开头的文件
[abc]/[a-z]与{a,b,c}/{a…z}的区别

[abc]/[a-z]只能用于查找文件,而{a,b,c}/{a…z}可用于查找和创建 文件,在勇于查找文件时,二者作用一样

#{}能用于创建文件
[root@VM-0-17-centos temp]# touch {a..z}.txt
[root@VM-0-17-centos temp]# ls
a.txt  c.txt  e.txt  g.txt  i.txt  k.txt  m.txt  o.txt  q.txt  s.txt  u.txt  w.txt  y.txt
b.txt  d.txt  f.txt  h.txt  j.txt  l.txt  n.txt  p.txt  r.txt  t.txt  v.txt  x.txt  z.txt

#[]不能用于创建文件
[root@VM-0-17-centos temp]# touch [a-z].txt
[root@VM-0-17-centos temp]# ls
[a-z].txt
正则表达式
正则表达式含义
*匹配前一个子表达式0次或多次
+匹配前面的子表达式一次或多次
.匹配除了换行符以外的任意单个字符
?匹配前面的子表达式零次或一次,或者表示匹配模式非贪婪
^字符串首
$字符串尾
[abc]匹配括号内的任意单个字符
[^abc]匹配除括号内的任意单个字符
\转义符,取消元字符的特殊含义或形成一个元字符
{n}表示前面的字符出现n次
{n,}表示前面的字符至少出现n次
{n,m}表示前面的字符至少出现n次,最多m次
(Pattern)匹配 pattern 并获取这一匹配。
\d匹配一个数字字符,等价于[0-9]
\D匹配一个非数字字符,等价于[^0-9]
\w匹配字母、数字、下划线。等价于[A-Za-z0-9_]
\W匹配非字母、数字、下划线。等价于 [^A-Za-z0-9_]

关于?的说明

  • 匹配前面的子表达式零次或一次。例如,“do(es)?” 可以匹配 “do” 或 “does” 。? 等价于 {0,1}。
  • 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 “aaaa”,‘a+?’ 将匹配单个 “a”,而 ‘a+’ 将匹配所有 ‘a’。
好用的网站

正则表达式可视化网站

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-852XCj01-1619492752373)(https://static01.imgkr.com/temp/8140fb94a0364b4ea206d09e3a761ffe.png)]

正则表达式在线调试网站

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LHzOZGpA-1619492752374)(https://static01.imgkr.com/temp/e24d4b5587bf4418a28a666ac9d2d534.png)]

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值