perl获取相同匹配字符长度

用perl来获取匹配字符串出现的次数的一个比较好的方法:通过/g进行全局匹配,返回数组中包含了所有已匹配的元素,再用上下文标量获得数组长度。代码如下:

 1 main();
 2 sub main
 3 {
 4      my $str = "#####H1####" ; 
 5      my $divider = "#"; 
 6      print "length of $divider is :".testI($str , $divider); 
 7 }
 8  #计算字符串里面字符出现次数的一个方法 
 9 sub testI 
10 { 
11          my $str = shift ; 
12          my $divider = shift ; 
13         if( $str =~ /^($divider+)/ ) 
14          { 
15                my $tmp = $1 ; 
16                my $length = () = $tmp =~ /$divider/g ; 
17                return $length ; 
18           }
19 }

 

posted @ 2012-11-17 11:15  ifeixiang  阅读(785)  评论(0编辑  收藏  举报