【发布时间】:2016-04-06 04:03:55
【问题描述】:
我是一个正则表达式新手,我正在尝试使用正则表达式从文本文件中返回日期列表。日期采用 mm/dd/yy 格式,例如,对于年份,“1955”将是“55”。我正在尝试将所有条目从 50 年返回到 99 年。
我相信我遇到的问题是,一旦我的正则表达式在一行上找到匹配项,它就会停在那里并跳转到下一行而不检查该行的其余部分。例如,我在文本文件的一行中有日期 12/12/12、10/10/57、10/09/66,它只返回 10/10/57。
到目前为止,这是我的代码。任何提示或提示?谢谢
open INPUT, "< dates.txt" or die "Can't open input file: $!";
while (my $line = <INPUT>){
if ($line =~ /(\d\d)\/(\d\d)\/([5-9][0-9])/g){
print "$&\n" ;
}
}
【问题讨论】:
-
请显示您输入的行。
-
如下:12/12/12 10/10/57 10/09/66
-
在您的问题中显示您的文件(准确)的外观,这可能非常有用。