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]系统提示没有定义 展开
<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]系统提示没有定义 展开
1个回答
展开全部
你换这下面的代码试试:
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;
首先确保在Uses里引用了RegularExpressionsCore名空间,不过你应该引用了,否则var reg:TPerlRegEx这一句就会报错;
不知道是不是版本不同的原因,新版本里的TPerlRegEx类把MatchedExpression和SubExpressions这两个属性取消了(这是Delphi的一个大问题,老是不向下兼容,新版本不支持旧版本的代码,恼火),相应的属性分别改为MatchedText和Groups;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询