Shell正则表达式.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Shell正则表达式

则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。这些是正则表达式的定义。 由于起源于unix系统,因此很多语法规则一样的。但是随着逐渐发展,后来扩展出以下几个类型。了解这些对于学习正则表达式。 ? 一、正则表达式分类: 1、基本的正则表达式(Basic Regular Expression 又叫 Basic RegEx? 简称 BREs) 2、扩展的正则表达式(Extended Regular Expression 又叫 Extended RegEx 简称 EREs) 3、Perl 的正则表达式(Perl Regular Expression 又叫 Perl RegEx 简称 PREs) ? 说明:只有掌握了正则表达式,才能全面地掌握 Linux 下的常用文本工具(例如:grep、egrep、GUN sed、 Awk 等) 的用法 ?? 二、Linux 中常用文本工具与正则表达式的关系? 常握 Linux 下几种常用文本工具的特点,对于我们更好的使用正则表达式是很有帮助的 grep , egrep 正则表达式特点: 1)grep 支持:BREs、EREs、PREs 正则表达式 grep 指令后不跟任何参数,则表示要使用 ”BREs“? grep 指令后跟 ”-E 参数,则表示要使用 “EREs“ grep 指令后跟 “-P 参数,则表示要使用 “PREs ? 2)egrep 支持:EREs、PREs 正则表达式 egrep 指令后不跟任何参数,则表示要使用 “EREs” egrep 指令后跟 “-P 参数,则表示要使用 “PREs ? 3)grep 与 egrep 正则匹配文件,处理文件方法 a. grep 与 egrep 的处理对象:文本文件 b. grep 与 egrep 的处理过程:查找文本文件中是否含要查找的 “关键字”(关键字可以是正则表达式) ,如果含有要查找的 ”关健字“,那么默认返回该文本文件中包含该”关健字“的该行的内容,并在标准输出中显示出来,除非使用了“ 重定向符号, c. grep 与 egrep 在处理文本文件时,是按行处理的 ? sed 正则表达式特点 1)sed 文本工具支持:BREs、EREs sed 指令默认是使用BREs sed 命令参数 “-r ” ,则表示要使用“EREs 2)sed 功能与作用 a. sed 处理的对象:文本文件 b. sed 处理操作:对文本文件的内容进行 --- 查找、替换、删除、增加等操作 c. sed 在处理文本文件的时候,也是按行处理的 Awk(gawk)正则表达式特点 1)Awk 文本工具支持:EREs awk 指令默认是使用 “EREs 2)Awk 文本工具处理文本的特点 a. awk 处理的对象:文本文件 b. awk 处理操作:主要是对列进行操作 ? ? ? 三、常见3中类型正则表达式比较 字符 说明 Basic RegEx Extended RegEx python RegEx Perl regEx 转义 ? \ \ \ \ ^ 匹配行首,例如^dog匹配以字符串dog开头的行(注意:awk 指令中,^则是匹配字符串的开始) ^ ^ ^ ^ $ 匹配行尾,例如:^、dog$匹配以字符串 dog 为结尾的行(注意:awk 指令中,$则是匹配字符串的结尾) $ $ $ $ ^$ 匹配空行 ^$ ^$ ^$ ^$ ^string$ 匹配行,例如:^dog$匹配只含一个字符串 dog 的行 ^string$ ^string$ ^string$ ^string$ \ 匹配单词,例如:\frog (等价于\bfrog),匹配以 frog 开头的单词 \ \ 不支持 不支持(但可以使用\b来匹配单词,例如:\bfrog) \ 匹配单词,例如:frog\(等价于frog\b ),匹配以 frog 结尾的单词 \ \ 不支持 不支持(但可以使用\b来匹配单词,例如:frog\b) \x\ 匹配一个单词或者一个特定字符,例如:\frog\(等价于\bfrog\b)、\G\ \x\ \x\ 不支持 不支持(但可以使用\b来匹配单词,例如:\bfrog\

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档