在Perl 5中我们可以写
my @things = $text =~ /thing/g;
标量上下文中的$things
是字符串thing
中子字符串$text
的非重叠出现次数。
如何在Perl 6中执行此操作?
答案 0 :(得分:7)
你可以这样做:
my $text = 'thingthingthing'
my @things = $text ~~ m:g/thing/;
say +@things; # 3
~~
匹配右侧的左侧,m:g
使测试返回包含所有结果的List[Match]
。
答案 1 :(得分:5)
我在RosettaCode
找到了解决方案。
http://rosettacode.org/wiki/Count_occurrences_of_a_substring#Perl_6
say '01001011'.comb(/1/).elems; #prints 4