求一个正则表达式写法(100分)

  • 主题发起人 主题发起人 crazycock
  • 开始时间 开始时间
C

crazycock

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样一个文本,是html里面的,
<a href="http://www.xxxx.com">访问xxxx网站</a>

如何得到这个http://www.xxxx.com ?
我的表达式写法是:(href=").*["]
所以我得到了:href="http://www.xxxx.com"
虽然可以通过截掉前面6个字符和后面一个字符得到URL,但是我觉得应该有其他写法吧。
希望大家帮忙讲解一下。
 
(?<=href=").*?(?=")
 
'http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?'

function ExtractStr(const AInputString: string): string;
const IPRE = 'http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?';
var
r : TRegExpr;
begin
Result := '';
r := TRegExpr.Create;
try
r.Expression := IPRE; //表达式
if r.Exec (AInputString) then
REPEAT
//Memo2.Lines.Add(trim(r.Match [0]));
Result := Result + r.Match [0]+ ','; //匹配
UNTIL not r.ExecNext;
finally r.Free;
end;
end;
 
如果只是在这一行字符串匹配,那就很简单了
正则表达式: href="(.*?)"
 
to hunter_fish:
人家懒得要前后的串,还要剔除的。
看我前面的,才是正点
 
多人接受答案了。
 
后退
顶部