Raku:一线表达式可从字符串中捕获组?

问题描述 投票:2回答:1

我因此从字符串中捕获数字:

my $n1;
if $string1 ~~ /(<[0..4]>)$/ {
    $n1 = $0;
} else {
    put "$string1 failed regex.";
    die;
}

这是很多行,但是我可以这样在一行中复制和编辑字符串:

my $string2 = $group2.subst(/<[0..4]>$/, '');

我仍在学习raku / perl6,并且我已经浏览了https://docs.perl6.org/type/Str,但看起来Raku不能做到这一点……但我不确定。

有没有一种方法可以像上面的第一个代码示例一样在一行中捕获子字符串?

我在脚本中反复执行此过程,这实际上会缩短我的脚本

string perl6 raku
1个回答
2
投票

也许.match是您想要的。

my $string1='4';
my $n2 = $string1.match(/(<[0..4]>)$/) // die 'error';
say $n2.values;
© www.soinside.com 2019 - 2024. All rights reserved.