regex – perl6中的可变量词
发布时间:2020-12-15 21:57:48 所属栏目:大数据 来源:网络整理
导读:假设我想匹配至少4个字母的单词,(并将它们存储在一个数组中),我写了以下正则表达式,它工作正常: if ( $text ~~ m:g/(w ** 4..*)/ ){ my @words = $/; ... } 量词从4到无限 **4..* 现在,如果我尝试用标量$min_length替换4.都: if ($text ~~ m:g/(w ** $::
假设我想匹配至少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>..*)/) 在编译时导致错误: 有标量作为量词的方法吗? 解决方法
当**量词的右侧不是数字或范围文字,而是任意Perl 6表达式时,您必须将其括在大括号中:
my $text = "The quick brown fox jumps over the lazy dog."; my $min-length = 4; my @words = $text.comb(/ w ** {$min-length .. *} /); .say for @words; 输出: quick brown jumps over lazy (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |