首页 > 其他 > 详细

perl5中锚位修饰符\A \z \Z 和perl4中^(开头)和$(结尾)的区别

时间:2015-02-05 00:42:01      阅读:1708      评论:0      收藏:0      [点我收藏+]

习惯使用perl4的开发者总是用^表示字符串开头锚位,用$表示字符串结尾锚位,比如\^https://\ 将会匹配所有以https://开头的字符串,同样,\.bmp$\将会匹配所有以.bmp结尾的字符串。但是到了perl5,有了\A ,\Z , \z三种锚位,这三种锚位中,\A与^相同,表示匹配以某模式开头的字符串,而\z就与$相同了……

       但是如果有了/m,则^表示行首而不再是字符串的串首!以字符串"this is a wilma line \nbarney is on another line \n but this ends in fred\n and a final dino line"为例,串首只有一个,就是this ,而行首却有四个,分别是this,barney,but和and,因此,模式/^barney/不能匹配该字符串,因为barney不是串首元素;但是,/^barney/m可以匹配该字符串,因为加了/m以后,^就表示匹配行首了,条件更宽松了……同样的,/fred$/不能匹配该字符串,因为fred不在串尾位置。但是/fred$/m却可以匹配该字符串,因为加了/m就表示匹配行尾而不是串尾了,故可以匹配了……

perl5中锚位修饰符\A \z \Z 和perl4中^(开头)和$(结尾)的区别

原文:http://www.cnblogs.com/chip/p/4273504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!