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

习惯使用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就表示匹配行尾而不是串尾了,故可以匹配了……

转载于:https://www.cnblogs.com/chip/p/4273504.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值