假设我有:
my $string = "one.two.three.four";
我应该如何利用上下文来获取模式找到匹配项的次数 (3)?这可以使用单行完成吗?
我试过这个:
my ($number) = scalar($string=~/\./gi);
我认为通过加上括号$number
,我会强制数组上下文,并通过使用scalar
,我会得到计数。然而,我得到的只是1
.
这将正则表达式本身置于标量上下文中,这不是您想要的。相反,将正则表达式放入列表上下文中(以获取匹配数)并放入that进入标量上下文。
my $number = () = $string =~ /\./gi;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)