gpt4 book ai didi

regex - Perl 匹配只返回 "1"。 bool 人?为什么?

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

这必须是显而易见的,但我只是没有看到。

我有一个包含数千条记录的文档,如下所示:

Row:1 DATA:
[0]37755442
[1]DDG00000010
[2]FALLS
[3]IMAGE
[4]Defect
[5]3
[6]CLOSED

我已经设法将每条记录分开,现在我正在尝试解析每个字段。

我正在尝试匹配编号的标题,以便我可以提取成功的数据,但问题是我的匹配项仅在成功时返回“1”,如果不成功则返回“1”。我尝试申请的任何比赛都会发生这种情况。

例如,应用于每条记录中的一个简单单词:
my($foo) = $record=~ /Defect/;
print STDOUT $foo;

如果每条记录包含“缺陷”,则为每条记录打印“1”,如果包含其他内容则不打印。

或者:
$record =~ /Defect/;
print STDOUT $1;

完全不打印。
$record =~ s/Defect/Blefect/

另一方面,将完美地用“Blefect”替换“Defect”。

我真的很困惑为什么我的比赛的返回如此糟糕。
任何帮助将非常感激。

最佳答案

您需要使用捕获括号来实际捕获:

if ($record =~ /(Defect)/ ) {
print "$1\n";
}

关于regex - Perl 匹配只返回 "1"。 bool 人?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7855637/

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