首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

perl 匹配, 没看懂?解决方案

2013-01-25 
perl 匹配, 没看懂?my $str hello, hello, hell my $count @{[$str ~ m/hell/g]}匹配表达式可以

perl 匹配, 没看懂?
my $str = 'hello, hello, hell ';
my $count = @{[$str =~ m/hell/g]};


匹配表达式可以返回标量上下文 为 1 或 没有
匹配表达式可以返回数组上下文 
此处的$count 显然是获取数组的个数。
整个的意思是获取匹配的个数

但还有以下问题:

1. 方括号把匹配表达式括起来是什么意思 ? 
2. 大括号把方括号括住又是什么意思 ?
3. @来修饰一个大括号又是什么意思 ?

thanks.
[解决办法]
牛啊,在什么地方看到的?

另一种简单的方法:

my $str = 'hello, hello, hell ';
my @array = $str =~ m/hell/g;
my $count = @array;



[解决办法]
1、方括号创建一个匿名数组,以标量方式引用
2、@{将匿名数组的标量引用看做为一个数组

可以看做如下的简写:
my $str = 'hello, hello, hell ';
my $arr = [$str =~ m/hell/g];
my $count = @{$arr};

热点排行