gpt4 book ai didi

raku - 在 Perl 6 中使用循环组合正则表达式

转载 作者:行者123 更新时间:2023-12-01 05:05:57 26 4
gpt4 key购买 nike

在这里,我根据数组的 Regex 元素手动制作了一个 regex

my Regex @reg =
/ foo /,
/ bar /,
/ baz /,
/ pun /
;

my $r0 = @reg[0];
my $r1 = @reg[1];

my Regex $r = / 0 $r0 | 1 $r1 /;

"0foo_1barz" ~~ m:g/<$r>/;
say $/; # (「0foo」 「1bar」)

如何使用 for @reg {...} 来实现?

最佳答案

如果一个变量包含一个正则表达式,您可以在另一个正则表达式中直接使用它。

第二个技巧是在正则表达式中使用数组变量,这相当于数组元素的析取:

my @reg =
/foo/,
/bar/,
/baz/,
/pun/
;

my @transformed = @reg.kv.map(-> $i, $rx { rx/ $i $rx /});

my @match = "0foo_1barz" ~~ m:g/ @transformed /;

.say for @match;

关于raku - 在 Perl 6 中使用循环组合正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47267671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com