用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 }