作为一名通过“Programming Perl”接触 Perl 的 PHP 程序员,我遇到了以下正则表达式:
/^(.*?): (.*)$/;
此正则表达式旨在解析电子邮件标头并将其插入哈希中。电子邮件标头包含在单独的 .txt 文件中,格式如下:
From: person@site.com
To: email@site.com
Date: Mon, 1st Jan 2000 09:00:00 -1000
Subject: Subject here
我用来处理这个示例正则表达式的整个代码如下:
use warnings;
use strict;
my %fields = ();
open(FILE, 'header.txt') or die('Could not open.');
while(<FILE>)
{
/^(.*?): (.*)$/;
$fields{$1} = $2;
}
foreach(%fields)
{
print;
print "\n";
}
现在,我的问题。我不确定为什么第一个子模式被修改为使用最小量词。挂断电话可能是一个小问题,但我不明白为什么会这样做。
感谢您的任何回复。