1.请问如何采集一个页面中,我想要的信息.
如一代码:
<img title='aaa'>
<img title='bbb'>
请问我怎么取出title的信息既:'aaa','bbb'.
当然实际遇到的不会这么简单,所以要求要用正则表达式解决.
2.请问用mes:=idhttp.get('http://www.a.com').
shomessage(mes)一看经常会出现部分代码而已,但实际所以代码
已经存在与mes中.我想问如果是只出现部分的情况,我直接拿这个
mes去正则表达式分析回有问题吗?如果会怎么解决.
分数不够我可以再加.希望会的帮帮谢谢........
如一代码:
<img title='aaa'>
<img title='bbb'>
请问我怎么取出title的信息既:'aaa','bbb'.
当然实际遇到的不会这么简单,所以要求要用正则表达式解决.
2.请问用mes:=idhttp.get('http://www.a.com').
shomessage(mes)一看经常会出现部分代码而已,但实际所以代码
已经存在与mes中.我想问如果是只出现部分的情况,我直接拿这个
mes去正则表达式分析回有问题吗?如果会怎么解决.
分数不够我可以再加.希望会的帮帮谢谢........
解决方案 »
- 关于Delphi连接数据库的问题
- 20分问题。在查询页面上如何实现自动查询并分析结果
- 在线等,如果获取网页中的内容
- 请教用webBrowse做程序主界面的问题:类似于导航,内详
- 为什么用Tdcomconnection组件做C/S客户端连接时,C与S在一台机子上可以,做是把S放在其它机子上时就不能访问了?
- 菜鸟问题:在C/S结构中,是不是数据库都得用DBMS?
- ado无法连接远端SQL服务器
- delphi程序的安装软件制作问题,有经验的朋友看过来(100分)
- 新手的问题,为什么下面的程序运行时,只能见到一个窗体,看不到运行结果???
- 求Win2000专业版通过ADSL拔号实现上网软件。(是否有ENTERNET 300 FOR 2000?)
- 请问盘点机的原理和接口程序开发
- 请教,如何用delphi批量设置excel一行或者一列单元格的计算公式?!
不好意思,正则表达式我还不太会使用.可不可以麻烦你写个简单的例子.
随便采一个页面,这要把这个页面中所有<a>的href找出来就可以了.
谢谢~~
// http://www.regular-expressions.info/delphi.html
uses PerlRegEx;
var
Regex: TPerlRegEx;
GroupIndex: Integer;Regex := TPerlRegEx.Create(nil);
Regex.RegEx := '\<a [^>]*href=[''"]([^''"]*)[''"][^>]*>';
Regex.Options := [preMultiLine];
Regex.Subject := SubjectString;
if Regex.Match then begin
repeat
for GroupIndex := 0 to Regex.SubExpressionCount do begin
// backreference text: Regex.SubExpressions[GroupIndex];
// backreference start: Regex.SubExpressionOffsets[GroupIndex];
// backreference length: Regex.SubExpressionLengths[GroupIndex];
end;
until not Regex.MatchAgain;
end;
以下是测试程序:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
r:TRegExpr;
i:integer;
begin
s:='<img title=''aaa''>'
+'<img title=''bbb''>'
+'<img title=''ccc''>';
r:=TRegExpr.Create;
r.Expression:='<img *title=''([^'']+)''';
if r.Exec(s) then
begin
Memo1.Lines.Add(r.Match[1]);
while (r.ExecNext) do
Memo1.Lines.Add(r.Match[1]);
end;
end;结果在memo1中显示
aaa
bbb
ccc
我试了.
但当我用
idhtp1:= TidHttp.Create(nil);
s:=idHttp.Get('http://www.abc.cn');
r:=TRegExpr.Create;
r.Expression:='<img *title=''([^'']+)''';
if r.Exec(s) then
begin
Memo1.Lines.Add(r.Match[1]);
while (r.ExecNext) do
Memo1.Lines.Add(r.Match[1]);
end;
他就取不到任何信息.
可不可以麻烦帮解决下.