gpt4 book ai didi

regex - 如何在 Perl 中打印与模式匹配的行?

转载 作者:行者123 更新时间:2023-12-04 19:22:18 26 4
gpt4 key购买 nike

假设 file.txt每行只有一个句子,如下所示:

John Depp is a great guy.  He is very inteligent.  He can do anything.  Come and meet John Depp.

The Perl code is as follows:-

open ( FILE, "file.txt" ) || die "can't open file!";
@lines = <FILE>;
close (FILE);
$string = "John Depp";
foreach $line (@lines) {
if ($line =~ $string) { print "$line"; }
}

输出将是第一行和第四行。

我想让它适用于具有随机换行符的文件,而不是每行一个英文句子。我的意思是它也应该适用于以下内容:-

约翰德普是个好人。他非常聪明。他可以做任何事情。来见见约翰德普。

输出应该是第一句和第四句。

请问有什么想法吗?

最佳答案

更简单:如果您假设“句子”由点分隔,那么您可以将其用作字段分隔符:

 $/ = '.';
while(<>) {
print if (/John Depp/i);
}

关于regex - 如何在 Perl 中打印与模式匹配的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2557559/

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