0

我将页面下载到 memo1.text,在本文中我需要将一些值提取到变量中。下载代码的必要部分:

<tr>
<td style="text-align: left;">Nazwa1</td>
<td style="text-align: right;">    88.</td>
<td style="text-align: center;"> 20%</td>
<td style="text-align: right;">86</td>
<td style="text-align: right;">108 h</td>
<td style="text-align: center;">     1.00000</td>
<td style="text-align: right;">8974296.0</td>
<td style="text-align: center;"> 1.00</td>
</tr>
<tr>
<td style="text-align: left;">Nazwa2</td>
<td style="text-align: right;">   282</td>
<td style="text-align: center;">---</td>
<td style="text-align: right;">261</td>
<td style="text-align: right;">1:26 h</td>
<td style="text-align: center;">     0.00212</td>
<td style="text-align: right;"> 312001.9</td>
<td style="text-align: center; color: #00cc00; "> 1.02</td>
</tr>
<tr>
<td style="text-align: left;">Nazwa3</td>
<td style="text-align: right;">  2747</td>
<td style="text-align: center;">100%</td>
<td style="text-align: right;">1833</td>
<td style="text-align: right;">0:27 h</td>
<td style="text-align: center;">     0.02239</td>
<td style="text-align: right;">    364.4</td>
<td style="text-align: center; color: #00cc00; "> 1.19</td>
</tr>
<tr>
<td style="text-align: left;">Nazwa4</td>
<td style="text-align: right;">   413.6</td>
<td style="text-align: center;">100%</td>
<td style="text-align: right;">281</td>
<td style="text-align: right;">0:6 h</td>
<td style="text-align: center;">     0.00358</td>
<td style="text-align: right;">  32812.1</td>
<td style="text-align: center; color: #cc0000; "> 0.78</td>
</tr>

我必须从“Nazwa3”表中提取变量值“1.19”,表中的所有内容都是变量,只有名称“nazwa3”是常量。

uses
  regexpr;

function searchandextract(InputStr : string) : string;
var
  R : TRegExpr;
begin
  Result := '';
  R := TRegExpr.Create;
  try
    R.Expression := '<td style="text-align: left;">Nazwa3</td>(.+?)"> ([0-9\.]+)</td>(.+?)</tr>';
    if R.Exec(InputStr) then
    begin
      Result := R.Match[2];
    end;
  finally
    R.Free;
  end;
end;


  Label1.Caption := searchandextract(Memo1.Text);

但是这个函数的结果是空的,我不知道为什么?

4

1 回答 1

1

不要使用正则表达式来解析 HTML 文件,而是查看 HTML 解析器库,在 delphi 中您可以使用DIHtmlParserhtmlp

于 2013-04-21T16:25:31.193 回答