имхо для html нужен парсер, но регулярки всяко лучше, чем кусок хардкода
по сути решение занимает три строчки, ещё три вывод в memo, а всё
остальное – повторно используемый код
какие ещё нужны аргументы?
ps что бы писать повторно используемый код, тоже нужна голова
Код:
//(освобождений объектов нету)
uses PerlRegEx;
function scan(input, regexp: string; group: byte = 0): TStringList;
var
reg: TPerlRegEx;
found: boolean;
begin
reg := TPerlRegEx.Create;
reg.Subject := input;
reg.RegEx := regexp;
result := TStringList.Create;
found := reg.Match;
while found do
begin
result.Add(reg.Groups[group]);
found := reg.MatchAgain;
end;
end;
function between(one, two: string): string;
begin
result := format('%s(.*?)%s', [one, two]);
end;
procedure TForm1.doscanClick(Sender: TObject);
var
one, two, three: TStringList; i: integer;
begin
one := scan(input.Text, between('<b>Участников:</b>','из'), 1);
two := scan(input.Text, between('из', '</div>'), 1);
three := scan(input.Text, between('</center><a href=', '><b>'), 1);
output.Clear;
for i := 0 to one.Count - 1 do
output.Lines.add(format('%s * %s * %s', [one[i],two[i],three[i]]));
end;