提取页面的中的url类似以下html代码
<a href="aaa.htm">title</a>
<a href='aaa.htm'>title</a>
<a href=aaa.htm>title</a>
<a href= aaa.htm >title</a>
求一正则表达式,能把链接地址aaa.htm以及后面的title提取出来
<a href="aaa.htm">title</a>
<a href='aaa.htm'>title</a>
<a href=aaa.htm>title</a>
<a href= aaa.htm >title</a>
求一正则表达式,能把链接地址aaa.htm以及后面的title提取出来
解决方案 »
- 请问已知一个日期,怎样求上一周周一和周五的日期
- 找工作(福建),7年软件开发经验
- 请教一个关于Qreport的问题!
- 如何在实现文件的传送?
- 新手问:多个用户操作同一数据库时,如何不使他们之间产生冲突??
- Initialization,Finalization這個代表 什麼意思??
- 有人能解决吗
- 如何批量清空TabSheet里面的所有edit组件?
- 送分50分:Incompatible types问题。
- 请教: 如何编写按网络流量进行计费的网络管理软件。
- 要实现这样一功能 有一DBgrid,这时修改了数据库中某一记录的值,要求同步刷新出来,但没这么简单,进来细说
- [正确就结贴]update是main的升级程序,main调用update以后,能从update中杀死main吗?
regExpt
///////
procedure Geta(aHtmlStr: string; T: Tstringlist);
const
aRE = '(?i)'
+ '(\<a href\=(\"?|\''?|\s?)?\w*\.\w*(\"?|\''?|\s?)?\>)(\w*)(\<\/a\>)?';
var
r: TRegExpr;
begin
r := TRegExpr.Create; // Create object
try
r.Expression := aRE;
if r.Exec(aHtmlStr) then
begin
repeat
t.Add(r.Match[4]);
until not r.ExecNext;
end;
finally
r.Free;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var T: tStringlist;
begin
T := tStringlist.create;
try
Geta(memo1.Text, t);
memo2.Lines.Assign(t);
finally
t.Free;
end;
end;
//经过测试,能够实现,另外,如果href 后面有get参数的话,必须重新写表达式.
procedure Geta(aHtmlStr: string; T: Tstringlist);
const
aRE = '(?i)'
+ '(\<a href\=(\"?|\''?|\s?)?(\w*\.\w*)?(\"?|\''?|\s?)?\>)(\w*)(\<\/a\>)?';
var
r: TRegExpr;
begin
r := TRegExpr.Create; // Create object
try
r.Expression := aRE;
if r.Exec(aHtmlStr) then
begin
repeat
t.Add(r.Match[3]+','+r.Match[5]);
until not r.ExecNext;
end;
finally
r.Free;
end;
end;
//提示:
//1.本表达式不能提取包含get参数的URL地址,如果楼主要求,请说明
//2.不能直接复制表达式到其他语言环境中.单引号''缘故.
//3.regExpt单元必须下载才能在delphi下使用正则表达式的,delphi不支持正则表达式
//4.楼主问题解决了就赶紧揭帖给分.因为你的信誉分不怎么样.
<a href="http://www.xxx.com/abc.htm">abc</a>
<a href="../abc.htm">abc</a>
都不行了另外get参数也需要的
aRE = '(?i)'
+ '(\<a href\=(\"?|\''?|\s?)?((\w*\:*\/\/)?(\w*\.*\w*\/*)*)?(\"?|\''?|\s?)?\>)(\w*)(\<\/a\>)?';