网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » 前端脚本 » 正文

perl正则表达式,perl正则表达式匹配

2020-3-12 14:42:39 | 作者:老铁SEO | 0个评论 | 人浏览

  您好,如果在Unix中曾经使用过sed、awk、grep这些命令的话,相信对于Perl语言中的正则表达式(RegularExpression)不会感到陌生。Perl语言由于有这个功能,所以对字符串的处理能力非常强。在Perl语言的程序中,经常可以看到正则表达式的运用,在CGI程序设计中也不例外。


  正则表达式是初学Perl的难点所在,不过只要一旦掌握其语法,你就可以拥有几乎无限的模式匹配能力,而且Perl编程的大部分工作都是掌握常规表达式。下面给大家介绍几条正则表达式使用过程中的8大原则。


  正则表达式在对付数据的战斗中可形成庞大的联盟——这常常是一场战争。我们要记住下面八条原则:


  ·原则1:正则表达式有三种不同形式(匹配(m//),替换(s///eg)和转换(tr///))。


  ·原则2:正则表达式仅对标量进行匹配($scalar=~m/a/;可以工作;@array=~m/a/将把@array作为标量对待,因此可能不会成功)。


  ·原则3:正则表达式匹配一个给定模式的最早的可能匹配。缺省时,仅匹配或替换正则表达式一次($a='stringstring2';$a=~s/string//;导致$a='string2')。


  ·原则4:正则表达式能够处理双引号所能处理的任意和全部字符($a=~m/$varb/在匹配前把varb扩展为变量;如果$varb='a'$a='as',$a=~s/$varb//;等价于$a=~s/a//;,执行结果使$a="s")。


  ·原则5:正则表达式在求值过程中产生两种情况:结果状态和反向引用:$a=~m/pattern/表示$a中是否有子串pattern出现,$a=~s/(word1)(word2)/$2$1/则“调换”这两个单词。


  ·原则6:正则表达式的核心能力在于通配符和多重匹配运算符以及它们如何操作。$a=~m/w+/匹配一个或多个单词字符;$a=~m/d/"匹配零个或多个数字。


  ·原则7:如果欲匹配不止一个字符集合,Perl使用"|"来增加灵活性。如果输入m/(cat|dog)/则相当于“匹配字符串cat或者dog。


  ·原则8:Perl用(?..)语法给正则表达式提供扩展功能。(这一点请同学们课后看相关资料)


  想要学习所有这些原则?我建议大家先从简单的开始,并且不断的尝试和实验。实际上如果学会了$a=~m/ERROR/是在$a中查找子串ERROR,那么你就已经比在C这样的低层语言中得到了更大的处理能力。

  • 本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
  • 相关标签:
  • 已有0位网友发表了一针见血的评论,你还等什么?

    必填

    选填

    记住我,下次回复时不用重新输入个人信息

    必填,不填不让过哦,嘻嘻。

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    相关推荐