Linu shell 正则表达式分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux shell 正则表达式 正则表达式是一种可以用于模式匹配和替换的工具,可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与待比较字符串或文件进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。 一般通配符 通配符用于模式匹配,如文件名匹配、路径名搜索及字符串搜索等。常用的通配符有 6 种。 *(星号) 可匹配任意字符的 0 次或多次出现。例如,f*可以匹配 f、fa、fb、fa3、ff、f ff.s 等,即匹配以f打头的任意字符串。但应注意,文件名前面的圆点(.)和路径中的斜线(/)必须显式匹配。例如,模式*file不能匹配.profi,le而.*fil才e 可匹配.profi。le 模式/etc*.不c 件。 能匹配在/etc目录下带有后缀.c的文件,而模式/etc/*.会c 匹配这些文 ?(问号) 可匹配任意一个字符。例如,f?可以匹配 f1、f4、fv等,但不能匹配 f、facd、f34等。 [ (] 一对方括号) 其中有一个字符组。其作用是匹配该字符组所限定的任何一个字符。例如, f[adefu可] 以匹配fa,fd,fe,ff,fu,但不能匹配 f1,fa3,fkk等。方括号中的字符组可以由直接给出的字符组成,如上面所示,也可以由表示限定范围的起始字符、 终止字符及中间一个连字符(-)组成。例如,f[a-d与] f[abcd的] 作用相同。又如, a[1-9与] a[123456789]的作用相同。但前者的表示方式更简捷。 连字符仅在一对方括号中表示字符范围,如在方括号外面就成为普通字符了。但是, 连字符仅在一对方括号中表示字符范围,如在方括号外面就成为普通字符了。但是, 前面介绍的*和?在一对方括号外面是通配符,若出现在方括号内,它们就失去通配符的能力,成为普通字符了。例如,模式-a[*?]abc中只有一对方括号是通配符,因此,它匹配的字符串只是-a*abc 和-a?abc。 !(感叹号) 如果它紧跟在一对方括号的左方括号([)之后,则表示不在一对方括号中所列出的字符。例如,f[!1-9].表c示以 f打头,后面一个字符不是数字 1~9 的.c文件名, 它匹配fa.,c fg.c等。 在一个正则表达式中,可以同时使用*(星号)和?(问号)。例如,/usr/meng/t?/* 匹配目录/usr/meng之下,子目录名是以 t打头,后随一个任意字符的这些子目录下 的所有文件名。 又如,chapter[0-9表]*示 chapter之后紧跟着 0 个 0~9 的数字,其后字符是任意 字符,它可匹配chapter1,0 ^(幂次方号) chapter,0 chapter,1 chapter29等。 只允放在一行的开始匹配字符串。例如,“ls -.l”^显d $(美元号) 示所有的目录。 只在行尾匹配字符串,它放在匹配单词的后面。例如,linux$表示以单词 linux结尾的所有文件。 模式表达式 模式表达式是那些包含一个或多个通配符的字符串。bash 除支持 Bourne shell 中的*、?、[ 、] !、^及$通配符外,还提供了特有的扩展模式匹配表达式。 *(模式表) 匹配给定模式表中“模式”的 0 次或多次出现,各模式之间以竖线(|)分开。例如,file*(.c|匹.o配) 文件 file.、cfile.、ofile.c、.ofile.c、.cfile.o、.cfile等,但不匹配 file.、hfile.等s 。 +(模式表) 匹配给定模式表中“模式”的 1 次或多次出现,各模式之间以竖线(|)分开。例如,file+(.c|匹.o配) 文件file.、cfile.、ofile.o、.cfile.c.等o ,但不匹配fil。e ?(模式表) 匹配模式表中任何一种“模式”的0 次或 1 次出现,各模式之间以竖线(|)分 开。例如,file?(.c|只.o匹)配 fil、e @ (模式表) file.、cfile.等o ,不匹配file.c、.cfile.c.等o。 仅匹配模式表中给定“模式”的 1 次出现,各模式之间以竖线(|)分开。例如, file@(.c|.只o)匹配 file.c和 file.,o但不匹配 fil、e !(模式表) file.c、.cfile.c.等o。 除给定模式表中的一个“模式”之外,它可以匹配其他任何的字符串。在实际 使用时,模式表达式可以递归,即每个表达式中都可以包含一个或多个模式。例如, file*(.[cho]|是.s合h)法的模式表达式。

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地境外
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档