第十四讲-正则表达式.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十四讲-正则表达式

sed工具 替换:s命令 $ sed ‘s/test/mytest/g’ example-----在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。 $ sed -n s/^test/mytest/p example-----(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的test被替换成mytest,就打印它。 第十四讲 正则表达式 知识点 正则表达式(Regular Expression,RE) 扩展正则表达式 grep命令 sed命令 正则表达式实例 假设有一个文件,里面有一些我们需要的信息,但是格式却有问题,目前数据的列顺序是:姓名,单位名,省名缩写,邮政编码,现在我们希望将这些数据重新组织,以便在我们的某个软件中使用,需要的格式为:姓名,省名缩写 邮政编码,单位名。也就是说,我们要调整列顺序,还要合并两个列来构成一个新列。另外,我们的软件不能接受逗号前后面有任何空格(包括空格和制表符)所以我们还必须要去掉逗号前后的所有空格。 Vim中实现 Longgang Lei, ZZU ,HN, 450002 Nannan Jiang, ZZU, SX, 450002 Zhipeng Shao , ZZU, HB, 450002 :%s/\([^,]*\),\([^,]*\),\([^,]*\),\(.*\)/\1,\3 \4,\2/ :%s/[ \t]*,[ \t]*/,/g 正则表达式定义 正则表达式是一种处理字串的方法,它以行为单位进行字串的处理,通过一些特殊符号的排列组合,可以让使用者轻易的达到搜寻/取代/删除 某特定字符串 具体来讲,正则表达式是一种能描述一类字符串的模式。如果一个字符串能用某个正则表达式来描述,我们就说这个字符串和该正则表达式匹配(Match)。 丰富工具支持,如过滤字串的指令grep、文本编辑器vi和emacs、批处理编辑器(流编辑器)sed和awk、编程语言PHP、JAVA、perl等 正则表达式规范 正规表达式 含义 ^word 以关键字word开始的行 word$ 以关键字word结束的行 . 代表任意“一个”字符 * 代表任意“多个”字符 \ 转义字符 [list] 匹配列表中指定字符 [^list] 匹配不包含列表中指定字符 {n} n是一个非负整数,匹配确定的n次 {n, m} 连续匹配n到m个此前面模式串 方括号的使用 使用方括号 [ ] 包含一系列字符,表示能够匹配其中任意一个字符。 在方括号中使用连字符“-”表示某个范围 [^ ] 包含一系列字符,则表示能够匹配其指定字符之外的任意一个字符。 例如: [ab5@] 匹配 a 或 b 或 5 或 @ [^abc] 匹配 a,b,c 之外的任意一个字符 [f-k] 匹配 f~k 之间的任意一个字母 [A-F0-3] 匹配 A~F,0~3 的任意一个字符 实例分析 例1:表达式 ^aaa 在匹配 xxx aaa xxx 时 匹配结果是:失败 因为 ^ 要求与字符串开始的地方匹配,因此,只有当 aaa 位于字符串的开头的时候,^aaa 才能匹配,比如:aaa xxx xxx“。 例2:表达式 aaa$ 在匹配 xxx aaa xxx 时 匹配结果是:失败 因为 $ 要求与字符串结束的地方匹配,因此,只有当 aaa 位于字符串的结尾的时候,aaa$ 才能匹配,比如:xxx xxx aaa。 方括号使用实例 例3:表达式 [bcd][bcd] 匹配 abc123 时, 匹配的结果是:成功; 匹配到的内容是:bc; 例4:表达式 [^abc] 匹配 abc123 时, 匹配的结果是:成功; 匹配到的内容是:1; grep grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print 格式: grep [-acinv] ‘keyword’ filename -a:在二进制文件用文本方式查找word字符串 -c:计算找到word字符串的次数 -i:不区分大小写 -n:输出时显示行号 -v:显示没有word的行 grep eg:who | grep ‘root’ 查找以root身份登录的信息 who | grep –v ‘root’ 查找以非root身份登录的信息 grep 搜寻指定字符串,且输出时显示行号: grep –n ‘the’

文档评论(0)

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

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

1亿VIP精品文档

相关文档