正则表达式与 Globing 区别分析

0x00 Globbing 语法

man glob 里面很好的解释 Globbing 的历史,通常在文件匹配时会使用 Globbing ,因为这个语法规则已经作为类 Unix Shell 的 Built-in 存在。

字符解释
*匹配任意长度任意字符
?匹配任意单个字符
[]匹配指定范围内任意单个字符,也可以是单个字符组成的集合
[^]匹配指定范围外的任意单个字符或字符集合
[!]同[^]
{str1,str2,…}匹配 srt1 或者 srt2 或者更多字符串,也可以是集合

0x01 正则表达式语法

基本正则表达式(BRE)

符号作用
^在 [] 外表示以某个字符开头,在 [] 内表示除去哪些字符
$表示以某个字符结尾
.表示匹配一个且只匹配一个字符
*表示匹配前边一个字符出现0次或者多次
[]表示匹配括号内的多个字符信息,一个一个匹配
\将有特殊含义的字符转义为通配符

扩展正则表达式(ERE)

符号作用
+表示前一个字符出现一次或一次以上
?表示前一个字符出现0次或者一次以上
|表示或者的关系,匹配多个信息
()匹配一个整体信息; 还可以接后项引用
{}定义前边字符出现几次

0x02 正则表达式与 Globbing 区别

符号GlobbingRegex
*0或多个任意字符匹配规则的0或多个字符
?任意单个字符匹配规则的0或1个字符
.非特殊字符任意单个字符
{}匹配组匹配次数

参考文档

  1. https://www.linuxjournal.com/content/globbing-and-regex-so-similar-so-different
  2. https://tldp.org/LDP/abs/html/globbingref.html
已标记关键词 清除标记
相关推荐
<p> <span style="color:#337FE5;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:14px;line-height:22px;background-color:#FFFFFF;"><strong>内容简介:</strong></span> </p> <p> <span style="color:#0D0015;font-family:'PingFang SC', Helvetica, Tahoma, Arial, 'Hiragino Sans GB', 'Microsoft YaHei', SimSun, Heiti, sans-serif;line-height:normal;">正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。</span><span style="color:#0D0015;font-family:'PingFang SC', Helvetica, Tahoma, Arial, 'Hiragino Sans GB', 'Microsoft YaHei', SimSun, Heiti, sans-serif;line-height:normal;">计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。</span><span style="color:#0D0015;font-family:'PingFang SC', Helvetica, Tahoma, Arial, 'Hiragino Sans GB', 'Microsoft YaHei', SimSun, Heiti, sans-serif;line-height:normal;">在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。</span> </p> <p> 本门课程主要讲解正则表达式的引用场景和一些基础用法,让大家对正则表达式有一个清晰地认识。 </p> <span style="color:#222226;font-family:PingFangSC-Regular, 'PingFang SC';font-size:14px;line-height:22px;background-color:#FFFFFF;"></span> <p style="color:#222226;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p style="color:#222226;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:14px;background-color:#FFFFFF;"> <span style="color:#337FE5;"><strong>为什么需要掌握正则表达式?</strong></span> </p> <div class="para" style="color:#333333;font-size:14px;font-family:arial, 宋体, sans-serif;background-color:#FFFFFF;"> 正则表达式非常灵活、而且功能非常强大,它可以迅速地用极简单的方式达到字符串的复杂控制。而对于刚接触的人来说,正则表达式比较晦涩难懂。这门课程可以非常快速的帮助大家理解正则表达式,以及掌握如何在实际场景中用到它。 </div> <p> <br /> </p> <p style="color:#222226;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:14px;background-color:#FFFFFF;"> <span style="color:#337FE5;"><strong>课程大纲:</strong></span> </p> <p style="color:#222226;font-family:'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif;font-size:14px;background-color:#FFFFFF;"> 为了让大家快速系统了解正则表达式知识,我为您总结了思维导图,帮您梳理学习重点,建议收藏!<img src="https://img-bss.csdnimg.cn/202006240624072921.jpg" alt="" /> </p> <span></span><br /> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页