07 正则表达式.pptVIP

  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文档。上传文档
查看更多
07 正则表达式

综述 用特定字符代表特定含义,用于字符串匹配 流派众多,主流编程语言都有自己的风格 基础的风格(引擎) 基本正则表达式(BRE) 扩展正则表达式(ERE) 示例 grep -o [[:lower:]]*@ mail.html 元字符 代表特定字符集的元字符 \w:代表A-Za-z0-9_ 代表位置的元字符 ^:代表行首 代表数量的元字符 *:任意多个 其它元字符 |:代表多选结构 代表单个字符的元字符 示例 [root@rhel ~]# cat tt a 12 ? grep \w tt grep \W tt grep \s tt grep \S tt grep 在文件中查找符合条件的行 grep root /etc/passwd:查找包含root的行 grep \s tt:查找包含空白字符的行 字符组 字符组:用户自定义的字符集,用中括号[]括起来 [a-d]:共四个字符,a、b、c、d [ad-]:共三个字符,a、d、- [a-zA-Z0-9_]:共63个字符 [p-s^]:共五个字符,p、q、r、s、^ [^p-s]:无穷多个字符,但不包括p、q、r、s 字符组用于匹配单个字符 示例 [root@rhel ~]# cat tt 01 10 001011 1 [root@rhel ~]# grep [1-9][0-9] tt 10 001011 tt文件中符合条件的行必须满足以下条件 此行包含两个或多个数字 第一个数字为1~9中个某一个 POSIX字符类 POSIX字符类-续 POSIX字符类-续 [:lower:]:匹配一个小写字母 [[:lower:]]*@ 外层的[]表示使用了字符组 内层的[:lower:]表示一个小写字母 [^[:lower:]],匹配一个非小写字母的字符 示例 grep -o [[:lower:]]*@ mail.html 代表位置的元字符 ^:匹配行首 ^tom:tom必须在行首 $:匹配行尾 tom$:tom必须在行尾 ^$,匹配空行(空格也没有) 在BRE中,若“^”不在模式的开始位置,则失去其特殊含义,“$”道理相同 示例 # cat data3 This is a test line this is another test line A line that tests this feature This ^ is a test # grep ^this data3 this is another test line # grep ^ data3 This ^ is a test 代表数量的元字符 *:0个或多个 [[:lower:]]*@ 表达式“a*”是否匹配字符串“bcd”? +:一个或多个(ERE模式) grep -E 0+ tt ?:0个或 一个(ERE模式) colou?r:匹配colour、color 注意:代表数量的元字符不能单独使用,必须跟在代表字符的元字符后面 代表数量的元字符-续 \{m\}:m为正整数,表示m个 grep o\{2\} /etc/passwd,匹配 “oo” \{m,n\}:至少m个,至多n个 grep o\{2,3\} datafile,匹配“oo”或“ooo” \{m,\}:至少m个,多了不限 示例 [root@rhel ~]# cat tt 01 10 001011 1 [root@rhel ~]# grep -E 0+ tt 01 10 001011 grep命令常用参数 -E:使用扩展的正则表达式(ERE) -i:忽略大小写 -n:显示匹配的行号 -o:仅显示匹配的字符串,不显示整行内容 -v:显示不匹配的行 -w:显示完整单词匹配的行 grep -w jul tt:匹配单词jul,不匹配诸如july之类的单词 Page ? * 正则表达式 所有单个字符 单个字符 . 非空白字符 [^ \t] \S 空白字符 [ \t] \t:制表符、TAB键 \s 非构成单词的字符 [^A-Za-z0-9_] \W 构成单词的字符 [A-Za-z0-9_] \w 说明 代表的字符集 元字符 小写字母 [a-z] [:lower:] 可见字符(无空格) \x21~\x7E [:graph:] 解释 ASCII 表示法 数字 [0-9] [:digit:] 控制字符 \x00~\x1F\x7F [:cntrl:] 空格和tab [:blank:] 大小写字母 [A-Za-z] [:alpha:] 数字和大小写字母 [A-Za-z0-9] [:alnum:] 可见字符和空格 \x20~\x7E [:print:] 标点符号 [-!#$%()*+,./:;=?@[\\\]^_`{|}~] [:punc

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档