-1

我正在尝试解析 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)&nbsp;
    </div>

    <div class="col_5 left ">2.4&nbsp;</div>
    <div class="col_5 left ">3.6&nbsp;</div>
    <div class="col_5 left bold">2.9&nbsp;</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)&nbsp;
    </div>

    <div class="col_5 left ">2.7&nbsp;</div>
    <div class="col_5 left ">3.7&nbsp;</div>
    <div class="col_5 left bold">2.5&nbsp;</div>
    <div class="col_8 left">
</div>

我需要解析的信息是球队名称、结束和半场结果以及 col_5_left 中的数字:2.4、3.6 和 2.9(对于比赛 Team A - Team B)。

如果我启动我的脚本,Perl 会给我以下错误: Bareword found where operator expected at parser.pl line 11, near ""\

我不熟悉 Perl 中的所有现有模块,也许我正在尝试做一些使用正确的模块很容易实现的事情。谁能给我一些提示/提示如何解析这个 HTML 页面?

谢谢

4

1 回答 1

1

带有正则表达式的行可能看起来像这样:

$PAGE_REGEXP = '<div class="col bg_dark clear">';
于 2012-05-17T19:00:43.220 回答