正则表达式进行匹配.ppt.ppt

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

LOGO Perl 语言 * 第八章用正则表达式进行匹配 用m//进行匹配 1 模式匹配修饰符 2 锚位 3 ※ * △ 捕获变量 4 △ 现在你将学习怎样在Perl 中使用正则表达式。 * 8.1使用m//匹配 我们曾经将模式放在一对正斜线(//)里面,如/fred/。 实际上是m//(模式匹配)的一种简写。同qw//。 也可以使用m(fred), mfred, m{fred}, m[fred],或者m,fred,, m!fred!, m^fred^。 如果使用//,可以省略m * 8.1使用m//匹配 建议:使用模式中不会出现的字符作为分隔符。 /http:\/\// #匹配http://。 明智的选择:m%^http://% 更易于阅读,书写,维护,以及调试。 * 8.2 模式匹配修饰符 修饰符(modifier),通常叫做标记(flag),可以后缀在正则表达式后面来改变其默认的行为。 1.不区分大小写:/i 要创建一个大小写无关的模式,如匹配FRED 时,也能匹配上fred, Fred,可以使用修饰符/i: * print “Would you like to play a game?”; chomp($_ = STDIN); if(/yes/i) { #大小写无关 print “In that case, I recommend that you go bowling.\n”; } 8.2 模式匹配修饰符 2.匹配任何字符:/s 点(.)不匹配换行符,如果希望点(.)能匹配任意字符(包括换行符),可以使用/s 修饰符。 此时(.)相当于 [\d\D] * $_ = “I saw Barney\ndown at the bowing alley\nwith Fred\nlast night.\n”; if(/Barney.*Fred/s){ print “That string mentions Fred after Barney!\n”; } 8.2 模式匹配修饰符 3.加入空白符:/x 允许你在模式中加入任何数量的空白,以方便阅读: * /-?\d+\.?\d*/ #这是什么含义? / -? \d+ \.? \d* /x #要好些 由于/x 允许模式中使用空白,原来模式中的空格,制表符等将被忽略。可以使用\s(\s*或\s+)。 $_=“4 4” / \d \d/x #错误 / \d \s+ \d/x #成功 8.2 模式匹配修饰符 Perl 中,注释可以被作为空白,因此使用/x,可以在模式中加上注释: * / -? #可选的负号 \d+ #小数点前一个或多个十进制数字 \.? #可选的小数点 \d* #小数点后一些可选的十进制数字 /x #模式结束 8.2 模式匹配修饰符 如果需要匹配井号,可以使用\#或[#] * / [0-9]+ #必须出现一个或多个数字 [#]+ #井号字符本身 /x #模式结束 / -? #有减号/没有减号----------错误,使用了定界符 [0-9]+ #必须出现一个或多个数字 [#]+ #井号字符本身 /x #模式结束 注释部分不能出现定界符号,否则被视为模式终点。 8.2 模式匹配修饰符 组合选项修饰符 在一个模式中可以使用不止一个修饰符,可以一个接着一个写在模式末尾。其顺序是不重要的: * if(/barney.*fred/is){ # /i 和/s print “That string mentions Fred after Barney!\n”; } if (m{ barney

文档评论(0)

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

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

1亿VIP精品文档

相关文档