基础正则表达式元字符有哪些,怎么应用
Admin 2022-07-30 群英技术资讯 1458 次浏览
在这篇文章中,我们来学习一下“基础正则表达式元字符有哪些,怎么应用”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。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内置函数-len()函数。python len() 方法返回对象(字符、列表、元组等)长度或项目个数。
这篇文章主要为大家介绍了自学python求已知DNA模板的互补DNA序列的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章给大家分享的是有关python内置数据结构的内容,下文介绍了array、defaultdict、Named Tuple和Counter这几种python内置数据结构的作用和用法,小编觉得挺实用的,因此分享给大家做个参考。感兴趣的朋友跟随小编一起来看看吧。
Python例子-用python语言实现九九乘法表,并输出
这篇文章主要介绍了Pytest allure 命令行参数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008