![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Доброй ночи.
Код:
procedure TForm2.Button1Click(Sender: TObject);
var
s:string;
r: TRegExpr;
result:string;
Doc : IHTMLDocument2;
begin
WebBrowser1.Navigate('Страница');
while WebBrowser1.ReadyState<>READYSTATE_COMPLETE do Application.ProcessMessages;
Doc := WebBrowser1.Document as IHTMLDocument2;
r := TRegExpr.Create;
r.InputString :=Doc.body.innerHTML;
r.Expression :='<h1>(.*?)</h1>';
if r.Exec then
result:= r.Match[1];
label2.caption:=result;
end;Это обработчик кнопки. Нужно, чтобы в label2 вывелось то, что находится между тегами <h1> и </h1> на странице, которая загрузилась в webbrowser Ничего не выводит. И так пробовал и сяк.. И еще хотелось попросить дать примеров регулярок для RegExpr. Нашел только на английском, но там мало что понятно. Спасибо. Последний раз редактировалось iodjin, 20.10.2013 в 00:23. |
|
#2
|
||||
|
||||
|
используй DOM
|
|
#3
|
||||
|
||||
|
... или ДКА.
|
|
#4
|
|||
|
|||
|
Цитата:
Может, кому пригодится. Меняем строку r.Expression :='<h1>(.*?)</h1>'; На r.Expression :='<H1>(.*?)</H1>'; и все заработает. Последний раз редактировалось M.A.D.M.A.N., 20.10.2013 в 19:41. |
|
#5
|
||||
|
||||
|
Гораздо проще было ДКА набросать, чем использовать 1% мощностей регулярных выражений.
|