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 }