-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 の数字です。たとえば、col_5_left: 2.4、3.6、および 2.9 (チーム A - チーム 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 に答える