基础正则表达式元字符有哪些,怎么应用
Admin 2022-07-30 群英技术资讯 817 次浏览
POSIX规范制订了两种标准的正则表达式语法,一种是基本正则表达式,一种扩展正则表达式。这两中正则表达式的元字符组成略有不同。本节来学习基础正则表达式元字符。
基础正则表达式元字符
符号“*”用于匹配前导字符0次或多次,具体示例如下:
hel*o
以上示例中“*”符号之前是普通字符l,“*”符号就表示匹配l字符0次或多次,字符串helo、hello、hellllllo都可以与hel*o匹配。
符号“.”用来匹配任意除换行符“\n”外任意的单个字符。当正则表达式中出现“.”符号时,意味着该位置应有一个字符,具体示例如下:
..U73.
“.”只能匹配一个字符,因此上述字符串表示前两个字符是任意字符,第3~5个字符是U73,最后一个字符也是任意字符。字符串MHU73、4JU73H等都可与..U73.匹配。
符号“^”用来匹配行首字符,表示行首字符是“^”后面那个字符。例如列举出/etc目录下以字符串“sys”开头的文件,可以使用如下命令:
[itheima@localhost ~]$ ls /etc | grep "^sys" sysconfig sysctl.conf sysctl.d systemd system-release system-release-cpe
注意:
尽管以上示例匹配的是以字符串“sys”开头的内容,但读者应理解为匹配以字符“s”开头,第二、第三个字符依次为“y”和“s”的行,这种理解方式更符合正则表达式的思维,。这种思维在学习正则表达式时非常重要,读者应熟练掌握。
行尾定位符“$”用来匹配文本行末尾的字符,与“^”符号的作用正相反。例如查找/etc目录下以conf结尾的文件,可以使用如下命令。
[itheima@localhost ~]$ ls /etc | grep cof$ asound.conf autofs.conf autofs_ldap_auth.conf brltty.conf cgconfig.conf cgrules.conf cgsnapshot_blacklist.conf ......
同样,读者在理解行尾定位符的时候也应该从字符的角度去理解,即“conf$”匹配的是以“conf”以字符“f”结尾,同时倒数第2~4个字符依次为“n”、“o”、“c”的文本行。
“[]”符号的功能比较特殊,它是用来指定一个字符集合的,其基本语法如下:
[abc]
其中a、b和c表示任意单个字符,只要某个字符串在方括号所在的位置出现了方括号中的任意一个字符,就能满足匹配规则。
另外,对于连续的数字或字母可以使用符号“-”来表示一个范围,例如[a-z],表示匹配到a到z中的任意一个字母。下面通过查看/etc目录下以rc开头,并且rc后面紧跟一个数字的文件有哪些来演示“[]”符号的使用,查看的命令具体如下所示:
[itheima@localhost ~]$ls /etc | grep "^rc[0-9]" rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d
由输出结果可知,符合规则的文件一共有7个。
注意:元字符“*”或“.”位于“[]”符号之中,便仅表示一个普通的字符,不再具有特殊意义。
“[^]”表示不匹配其中列出的任意字符,其语法格式如下所示。
[^abc]
它的用法与“[]”符号相反,此处不再赘述。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
人工智能用Python语言,因为它有以下几点优势,优质的文档,Python极其容易上手,因为Python有极其简单的说明文档;平台无关,可以在现在每一个Lnix版本上使用,由于它的开源本质,Python已经被移植在许多平台上;
前几天,在写一个与差分隐私相关的简单程序时,我发现了一些奇怪的东西:相对于其他的随机数生成函数,Python的random.randint()函数感觉很慢。 由于 randint() 是 Python 中最为常用的生成随机整数的API,因此我决定深入挖掘其实现机制以了解其运行效率较低的原因。本文深入探讨了 random 模块的实现,并讨论了一些更为快速的生成伪随机整数的替代方法。
这是一个Python脚本,能够批量地将微软Powerpoint文件( ppt或者 pptx)转换为pdf格式。使用说明1、将这个脚本跟PPT文件放置在同一个文件夹
在Python3 中应用的SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
这篇文章主要介绍了python设置 matplotlib 正确显示中文的四种方式,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008