perl中范围选择符 $/ 怎么用?请给出一个例子。谢谢!做正则匹配时需要用。

 我来答
zhlong8
2010-09-10 · 超过14用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
$/在perl里是行分隔符,默认是 \n。
在RE里用到的话一方面是用<>读取文件的时候每遇到$/ perl就截取当作一行,也可以设为多个字符的字符串。

行分割另一方面就是在正则匹配中的 sm 修饰符了,s是单行模式,即即便字符串里面含有\n也只把它当作一个整体来匹配,. 可以匹配 \n。m是多行匹配,把你的字符串当作以\n分割的字符多行来匹配,影响^$的意义。不加修饰符是单行而且.无法匹配\n。
你可以试下:
perl -e "print qq{a\n\n} =~ /a$/"
其中默认和加s修饰符都是无法匹配的,但是加m修饰符就能够匹配。

也就是说在正则表达式中 $/ 完全不影响匹配,$/ 只影响读取操作怎么分割你的数据。如果你改变了 $/ 的默认值,又想用正则匹配的话可以考虑先把讲到的数据用 split 分割下再处理会简单很多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式