Is there a Perl shortcut to count the number of matches in a string?

前端 未结 9 887
生来不讨喜
生来不讨喜 2020-12-01 00:54

Suppose I have:

my $string = \"one.two.three.four\";

How should I play with context to get the number of times the pattern found a match (3

9条回答
  •  半阙折子戏
    2020-12-01 01:44

    Try this:

    
    my $string = "one.two.three.four";
    my ($number) = scalar( @{[ $string=~/\./gi ]} );
    

    It returns 3 for me. By creating a reference to an array the regular expression is evaluated in list context and the @{..} de-references the array reference.

提交回复
热议问题