Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

помогите с регулярным выражением (TRegExpr) [D7, WinXP]


delphi_ ©   (2007-01-27 13:15:00) 

Нужно распарсить html файл и найти в нем ссылки аля
<a class=l href=" http://www.geocities.com/johbeil/writers/best_minds.htm">
т.е. отличительная черта линка- <a class=l
недопустимо наличие в ссылки ,содержащей cache:

ели я прально понил...то делаю

procedure TForm1.Button1Click(Sender: TObject);
var
 exp: TRegExpr;
 url: String;
begin
 url:=IdHTTP1.Get(урл);
 exp := TRegExpr.Create;
 exp.Expression:='<a class=l ([^\n>]*)>';

а вот что дльаше делать понять не могу вообще..как мне проверить урл на наличие cache: и добавить найденные урл в memo?


easy   (2007-01-27 14:22:00) [1]

procedure GetLinks(const Text:string; Lines:TStrings);
const
expr = '(?i)(<a class=l(.+?)>)';
begin
with TRegExpr.Create do
try
  Expression := expr;
  if Exec(Text) then begin
    repeat
      Lines.Add(Match[1]);
    until not ExecNext;
  end;
finally
  Free;
end;
end;

//************
procedure TForm1.Button1Click(Sender: TObject);
var
url: String;
begin
 url:=IdHTTP1.Get(урл);
 Memo1.Clear;
 GetLinks(url,Memo1.Lines);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо