gpt4 book ai didi

regex - Perl 正则表达式问题

转载 作者:行者123 更新时间:2023-12-04 06:32:44 26 4
gpt4 key购买 nike

我编写了一个 Perl 程序,它从文本文件中读取文本并将其打印出来。

我想打印出具有特定格式的行。

例如,有一些这样的行:

information:
Ahmad.prn:592118:2001:7:5:/Essay
Ashford.rtf:903615:2001:6:28:/usr/Essay
Barger.doc:243200:2001:7:4:/home/dir
end of Information.

我只想阅读这三行:
Ahmad.prn:592118:2001:7:5:/Essay
Ashford.rtf:903615:2001:6:28:/usr/Essay
Barger.doc:243200:2001:7:4:/home/dir

我认为字段的含义是:
Ahmad.prn <- file name
592118 <- size of file
2001:7:5 <- created date
/Essay <- path of file

我的代码是这样的:
#!/usr/bin/perl
use strict;
use warnings;

open (my $infh, "<", $file)||die "cant open";

while(my $line = <$infh>) {
chomp ($line);
if ($line =~ /(what regular expression do I have to put in here?)/) {
print "$line";
}
}

close ($infh);

最佳答案

如果您需要的行总是以/Essay 结尾,您可以使用以下正则表达式

/:\/Essay$/

编辑 1 : 看起来中间部分只有数字,你可以这样匹配。
/:\d+:\d+:\d+:\d+:/

关于regex - Perl 正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203722/

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