gpt4 book ai didi

regex - 正则表达式不从 3 行返回第一个数字

转载 作者:行者123 更新时间:2023-12-01 10:21:48 24 4
gpt4 key购买 nike

您好,我是 Perl 编程的新手,我编写了一个代码来使用正则表达式存储标量变量的第一个数字,但我从最后一行获取第一个数字,但我需要第一行的数字。

例如,在下面的代码中我需要 $num = 22 但代码返回 656

my $num ;

my $sample = "fd 22 sdf sdf 96
dsf6 66s sd6 7777 sd
656 dd 55 ";

my @sentences = split(/\n/, $sample);


for my $line(@sentences)
{
($num )= $line =~ /([0-9]+) .*/ ;

}
print $num;

有人能告诉我我的逻辑有什么问题吗?

最佳答案

您的代码会覆盖循环的后续迭代中的第一个匹配项,22 个匹配项但 666 个替换它。在第一场比赛结束后休息:

($num )= $line =~ /([0-9]+) .*/ and last;

或者删除循环并匹配示例:

($num )= $sample =~ /([0-9]+)/;

关于regex - 正则表达式不从 3 行返回第一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17536891/

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