当我尝试在 Perl 脚本中实现预编译的正则表达式时,我遇到了一些匹配问题。我的脚本在没有预编译的情况下工作,并且任何时候我有一个跨行的快递,它在预编译时返回不匹配。例如:
my $regex_partner = qr/<h1 id="PartnerName">(?<partner_name>.*?)<\/h1>/;
$content =~ $regex_partner;
$partner_name = $+{partner_name};
预编译时工作正常,但是:
my $regex_web =~ qr/Company Website:.*openWindow[(]'(?<website>http:\/\/.*?)'/s;
$content =~ $regex_web;
$website = $+{website};
什么都不返回,但如果我取出整个预编译,它就可以工作。似乎任何时候使用 qr//s 都不起作用。
帮助?