免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1870 | 回复: 9
打印 上一主题 下一主题

请教,关于PERL的正则表达式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-23 21:56 |只看该作者 |倒序浏览
大家好,在阅读下面文档
http://blog.csdn.net/hiccupzhu/article/details/8930056
,关于PERL的正则表达式,文档提到一个例子:

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

,按照我的理解,
$a = 'string string2';
$a =~ s/string/ /;
,其结果应该是' string2'才对,如果结果是'string 2',它应该是从右向左计算,实际是这样吗,多谢!

论坛徽章:
0
2 [报告]
发表于 2014-05-24 10:26 |只看该作者
回复 1# slwj
  1. $a =~ s/string/ /;
复制代码
的意思是把第一个匹配到的string替换为空,那就只剩下了string2,所以匹配到的是左边的string.

论坛徽章:
0
3 [报告]
发表于 2014-05-24 11:25 |只看该作者
应该是左边的吧,一般应该是' string2'
至于是不是平台不同?有变量控制?包含了模块?之类,导致默认情况下替换右边的?就不知道了

论坛徽章:
0
4 [报告]
发表于 2014-05-24 12:07 |只看该作者
怎么能有一个可以模拟运行PERL的环境?

论坛徽章:
0
5 [报告]
发表于 2014-05-24 12:54 |只看该作者
你用变量捕获就知道他到底匹配到的是什么了
  1. my $test = "string1 string2";
  2. $test =~ /(string\d)/ ;
  3. print $1;
复制代码

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
6 [报告]
发表于 2014-05-25 20:35 |只看该作者
  1. use 5.010;

  2. my $str = 'string string2';
  3. $str =~ s/string/ /;
  4. say "<$str>";
复制代码
  1. $ perl spp.pl
  2. <  string2>
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2014-05-26 10:01 |只看该作者
你在这里发这个贴子,还不如自己运行一下省时,我运行的结果是" string2"

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
8 [报告]
发表于 2014-05-26 10:31 |只看该作者
同意楼上的,我的结果是
  1. $a => [  string2]
复制代码

论坛徽章:
0
9 [报告]
发表于 2014-05-28 20:34 |只看该作者
stanley_tam 发表于 2014-05-26 10:31
同意楼上的,我的结果是


多谢了!

顺便问下,可以在Windows下建立一个PERL的运行环境么,多谢!

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
10 [报告]
发表于 2014-05-28 20:57 |只看该作者
什么意思,在windows上运行per?l回复 9# slwj


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP