+ -
当前位置:首页 → 问答吧 → perl中正则的前后查找断言

perl中正则的前后查找断言

时间:2011-04-08

来源:互联网

做了一个关于正则的前后查找断言实验,但是不成功?请各位大侠们,指点一下。先谢了。
my $pop = 301139843;
my ($result_ok) = $pop =~ s/ (?<=\d)(?=(?:\d\d\d)+$) /,/g;
print $result_ok . "\n";
实验结果:打印出来的是空.而不是正确结果:3,01139843

作者: Dragon_yao   发布时间: 2011-04-08

s/// 是改变原字符串的,你 print $pop 看看

作者: zhlong8   发布时间: 2011-04-08



QUOTE:
做了一个关于正则的前后查找断言实验,但是不成功?请各位大侠们,指点一下。先谢了。
my $pop = 30113984 ...
Dragon_yao 发表于 2011-04-08 10:45



1.不是很懂,你要什么....(结果跟你所说差很多301,139,843)
2.不要随便乱放空白...

# cat t.pl
my $pop = 301139843;
my ($result_ok) = $pop =~ s/(?<=\d)(?=(?:\d\d\d)+$)/,/g;
print "pop=$pop\n";
print "result_ok=$result_ok\n";

# perl t.pl
pop=301,139,843
result_ok=2

作者: jason680   发布时间: 2011-04-08