gpt4 book ai didi

regex - perl6 中的变量量词

转载 作者:行者123 更新时间:2023-12-04 10:23:08 24 4
gpt4 key购买 nike

假设我想匹配至少有 4 个字母的单词(并将它们存储在一个数组中),我编写了以下正则表达式,效果很好:

if ( $text ~~ m:g/(\w ** 4..*)/ )
{
my @words = $/;
...
}

量词从 4 到无限制
**4..*

现在,如果我尝试用标量 $min_length 替换 4。两个都:
if ($text ~~ m:g/(\w ** $::min_length..*)/)

和:
if ($text ~~ m:g/(\w ** <$::min_length>..*)/)

导致编译出错:
量词什么都不量化

有没有办法将标量作为量词?

最佳答案

我想使用 .split.grep 一起使用更自然:

my $text = "The quick brown fox jumps over the lazy dog.";
my $min-length = 4;
say $text.split(/\W+/).grep(*.chars >= $min-length);
===============
(quick brown jumps over lazy)

如果您将单词定义为空格之间的字符,您甚至可以使用 .words方法:
say $text.words.grep(*.chars >= $min-length);
===============
(quick brown jumps over lazy dog.)

关于regex - perl6 中的变量量词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44347724/

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