假设我有以下字符串
my $val = "3.4 -22.352 4.0"
目标是自己提取每个十进制数。每边或中间可以有任意数量的空格。确保恰好存在 3 个数字并且没有其他垃圾也很重要。我有这样的东西,但它不起作用:
my @parts = ($val =~ /((\s*[-+]?\d{1,3}\.\d{1,3}\s*)){3}/)
if (scalar(@parts) == 3) {
print "Validated!\n";
for my $i (@parts) {
print "$i\n";
}
}
出于某种原因,我得到了最后一个两次。