Perl中的模式匹配详解_第1页
Perl中的模式匹配详解_第2页
Perl中的模式匹配详解_第3页
Perl中的模式匹配详解_第4页
Perl中的模式匹配详解_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

但是不能有更多的字符。如在模式 但是不能有更多的字符。如在模式 /p.t/用于匹配pot、pat、pit、carpet等perl中的模式匹配俞昊然俞昊然发表于2016-05-1019:57:29内容来源:网络如果不显示指明,perl模式匹配常采用m/target/的形式,其中target为需要匹配的字符串。如果不显示指明,则perl常常在$_中进行匹配。模式匹配运算符常常用m//代替,也可以用(m,target)代替。如果匹配的字符串中含有元字符,则需要在前面加上 /。perl正则表达式匹配的规则:通常情况下,模式匹配从目标字符串的左边开始,然后逐步向右边进行匹配。模式匹配才返回真(在任何上如果并且只有当整个模式能够用于与目标字符串相匹配时,模式匹配才返回真(在任何上文中均如此)目标字符串中第一个能够匹配的字符串首先进行匹配。正则表达式不会漏掉某一个能够匹配的字符串,而去寻找另一个更远的字符串来进行匹配。进行第一次最大字符数量的匹配。你的正则表达式可能迅速找到一个匹配的模式,然后设法尽可能延伸能够匹配的字符范围。正则表达式是“贪婪的”,也就是说,它会尽可能多地寻找能够匹配的字符。元字符介绍:圆点.:在正则表达式中,圆点用于匹配除了换行符外的任何单个字。要求存在一个字符,通配符+:+用于使前面的字符与后面的字符至少匹配一次,也可以任意次地进行匹配,并且仍然拥有匹配的表达式。例如/do+g/能同时匹配hounddog,hotdog,doogiehowser,doooooogdoog等通配符*:元字符*使得前面的字符可以进行 0次或多次匹配。元字符?:元字符?用于使前面的字符进行 0次或一次匹配(但是不能超过一次) 。注意是前面的字符。模式/c?ola/用于对c进行匹配,如果c存在的话。然后对o、l和a进行匹配。通配符{}:花括号的格式如下:pat{n,m},这里的n是匹配的最小次数,m是匹配的最大次数,pat是你试图量化匹配的字符或字符组。可以省略 n,也可以省略m,但是不能同时省略n和m。例子:/x{5,10}/x至少出现5次,但是不超过10次。/x{9,}/x至少出现9次,也可能出现更多次。/x{0,4}/x最多出现4次,也可能根本不出现。/x{8}/ x必须正好出现8次,不能多,也不能少。通配符.*:可以用它来匹配任何东西,通常是你感兴趣的其他两样东西之间的任何东西。例如/first.*last/,这个模式设法匹配单词 first,再匹配它后面的任何东西, 然后匹配单词last。字符类说明字符类说明[abcde]用于匹配a、b、c、d或e中的任何一个字符[a-e]与上面相同。用于匹配a、b、c、d或e中的任何一个字符G用于匹配大写字母G或小写字母g[0-9]用于匹配一个数字[0-9]+用于顺序匹配一个或多个数字[A-Za-z]{5}用于匹配任何一组5个字母字符[*!@#$%&()]用于匹配这些符号中的任何一个记号(J:该字符类可以匹配不在该字符类中的任何单个字符。特殊字符类:模式用于匹配/w一个单词字符,与[a-zA-z0-9]相同/W一个非单词字符(与/w相反)/d一个数字,与[0-9]相同/D一个非数字/s一个白空间字符,与[/t/f/r/n]相同/S一个非白空间字符分组和选择和位置通配符:()表示分组。|表示选择。位置通配符:第一个位置通配符是插入记号( 竹。正则表达式开头的插入记号告诉正则表达式只匹配一行开头的字符。是美元符号($)。正则表达式结尾处的美元符号能够使模式只匹配一行结尾的字符。特别注意:记号(人)由2种用法,区别如下:字符匹配的时候,通常是在[]里内容的前面加A符号,表示该字符类可以匹配不在该字符类中的任何单个字符,也就是匹配非该字符的意思。位置匹配的时候,通常是在〃中内容的前面加人符号,表示只匹配以正则表达式开头的行。例子:"Help/ "Help/ 只匹配以Help开头的行"Help/ "Help/ 只匹配以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论