我正在尝试解析HTML页面的某些部分,但我的正则表达式存在问题。 我的代码如下所示:
... Download page using wget and some other stuff ...
$PAGE_REGEXP = "\<div class="col bg_dark clear">";
#Array HTMLLines
@HTMLLines = split(/\n/, $Page);
foreach $ThisOne (@HTMLLines) {
if ( ($Team) = ($ThisOne =~ /$PAGE_REGEXP/) ) {
$T{TranslateTeams($Team)}++;
$LastTeam=TranslateTeams($Team);
};
};
这是HTML页面:
<div class="col bg_dark clear">
<div class="col_1 left">15:30</div>
<div class="col_3_archive left">Team A - Team B</div>
<div class="col_2_archive left">
1:4 (0:2)
</div>
<div class="col_5 left ">2.4 </div>
<div class="col_5 left ">3.6 </div>
<div class="col_5 left bold">2.9 </div>
<div class="col_8 left">
</div>
<div class="col clear">
<div class="col_1 left">15:30</div>
<div class="col_3_archive left">Team C - Team D</div>
<div class="col_2_archive left">
2:3 (1:1)
</div>
<div class="col_5 left ">2.7 </div>
<div class="col_5 left ">3.7 </div>
<div class="col_5 left bold">2.5 </div>
<div class="col_8 left">
</div>
我需要解析的信息包括球队名称,结束和半场结果以及例如col_5_left中的数字:2.4,3.6和2.9(对于比赛A队 - B队)。
如果我启动脚本,Perl会给我以下错误: Bareword在parser.pl第11行找到了运算符所在的位置,靠近“”
我不熟悉Perl中的所有现有模块,也许我正在尝试做一些很容易实现的东西 正确的模块。有人可以提供一些提示/提示如何解析这个HTML页面吗?
THX
答案 0 :(得分:1)
正则表达式的行应该看起来像这样:
$PAGE_REGEXP = '<div class="col bg_dark clear">';