delphi 正则表达式 提取网页中数据

<tdalign="right">11</td><tdalign="right">22</td><tdalign="right">33</td><tdalign="rig... <td align="right">11</td>
<td align="right">22</td>
<td align="right">33</td>
<td align="right"><span class="ok">44</span></td>
请教一下咋个用delphi的TPerlRegEx 提取其中的数字信息(11 22 33 44)我在网页中找了一下还是没解决 http://www.cnblogs.com/del/archive/2007/12/22/1010352.html这个网站中的reg.MatchedExpression和reg.SubExpressions[0]系统提示没有定义
展开
 我来答
swordwindpla
推荐于2016-07-13 · TA获得超过339个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:82.6万
展开全部

你换这下面的代码试试:

var
  reg:TPerlRegEx;
begin
  reg:=TPerlRegEx.Create();
  reg.Subject:='<td align="right">11</td><td align="right">22</td><td align="right">33</td><td align="right"><span class="ok">44</span></td>';
  reg.regex:='\d\d';
  while reg.MatchAgain do
  begin
    showmessage(reg.MatchedText);
    showmessage(reg.Groups[0]);
  end;
end;
  1. 首先确保在Uses里引用了RegularExpressionsCore名空间,不过你应该引用了,否则var reg:TPerlRegEx这一句就会报错;

  2. 不知道是不是版本不同的原因,新版本里的TPerlRegEx类把MatchedExpression和SubExpressions这两个属性取消了(这是Delphi的一个大问题,老是不向下兼容,新版本不支持旧版本的代码,恼火),相应的属性分别改为MatchedText和Groups;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式