gpt4 book ai didi

regex - 多次匹配的命名捕获(Perl)

转载 作者:行者123 更新时间:2023-12-04 17:13:10 25 4
gpt4 key购买 nike

当我运行此代码时:

$_='xaxbxc';
if(/(x(?<foo>.))+/) {
say "&: ", $&;
say "0: ", $-{foo}[0];
say "1: ", $-{foo}[1];
}

我得到:
&: xaxbxc
0: c
1:

我知道这是它应该如何工作的,但我希望能够以某种方式获得所有匹配项的列表 ('a', 'b', 'c')而不仅仅是最后一场比赛( c )。我怎样才能做到这一点?

最佳答案

在这样的情况下,使用嵌入式代码块提供了一种简单的方法:

my @match;
$_='xaxbxc';
if(/((?:x(.)(?{push @match, $^N}))+)/) {
say "\$1: ", $1;
say "@match"
}

打印:
$1: xaxbxc
a b c

关于regex - 多次匹配的命名捕获(Perl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4258532/

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