К примеру можешь доработать такой вариант, извлекает построчно
из memo1.lines, текст между <a> и </a>... проверку на ЕХЕ'шники
думаю сам додумаешь

...
////////////////////////////////////////////////////////////////////////
Procedure ImportAAHref(Text: TStrings);
var
P,P1,P2,i: Integer;
Str,Str1: String;
begin
for i := 0 to Text.Count-1 do begin
str := Text.Strings[i];
P := Pos(LowerCase('<a>'),LowerCase(Str));
P1 := Pos(LowerCase('</a>'),LowerCase(Str));
if (P <> 0) and (P1 <> 0) then begin
Str1 := Copy(Str,P+3,P1-4);
Form1.ListBox1.Items.Add(Str1);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ImportAAHref(Memo1.Lines);
end;