Есть у меня такая ф-ция для парсинга. Она использует VBScript_RegExp_55_TLB.
Код:
function TForm1.Parse(page, pattern: string): string;
var
Reg: TRegExp;
mc: MatchCollection;
m: Match;
sm: SubMatches;
i:Integer;
s,r:string;
begin
Reg := TRegExp.Create(Self);
try
//Reg.Pattern := 'name="s" value="(.*)"';
s:=page;
Reg.Pattern:=pattern;
Reg.IgnoreCase:=true;
Reg.Global:=true;
Reg.Multiline:=true;
mc:=Reg.Execute(s) as MatchCollection;
for I := 0 to mc.Count - 1 do begin
//ShowMessage(inttostr(mc.Count));
m:=mc[i] as Match;
sm:=m.SubMatches as SubMatches;
//Вроде тут нужно что-то изменить
//ShowMessage(VarToStr(sm[i]));
r:=trim(VarToStr(sm[0]));
Result:=r;
end;
finally
m:=nil;
sm:=nil;
mc:=nil;
Reg.Free;
end;
end;
Используется очень просто:
Код:
main:=Parse(html,'<title>(.*)</title>');
Два парамета - строка для поиска и паттерн.
Проблема в том, что она ищет лишь одно значение. У меня задача - получить урлы ВСЕХ картинки из небольшого куска html кода. Подскажите, как заставить её отдавать массив ссылок на картинки (<img src="(.*)")
Либо возможно есть альтернативное готовое решение по парсингу картинок?