Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Delphi - RegExp (Регулярные выражения) (https://forum.antichat.xyz/showthread.php?t=119447)

mailbrush 06.05.2009 23:23

Delphi - RegExp (Регулярные выражения)
 
Либо я что-то не так делаю, либо TRegExpr криво пашет. Есть HTML-страничка. Пытаюсь вывести все ссылки
Код:

RegExp1.Expression:='<a href=(.*) .*>';
При выводе
Код:

RegExp1.Match[0]
- выводит криво, а т.е. весь документ.
Код:

RegExp1.Match[1]
Так пусто. Посоветуйте как решить эту траблу, или норм. компоннент для регулярок в дельфи.

LEE_ROY 06.05.2009 23:27

http://forum.vingrad.ru/articles/topic-213075.html

mailbrush 06.05.2009 23:53

Ну тыкнул ты ссылку, и что? Синтаксис регулярок я знаю. Эту же регулярку применил в PHP - все заработало. Тут - нету. Нечего сказать - промолчи!

-Hormold- 07.05.2009 00:03

Код:

const
  EmailRE = '<title>(.*)</title>';
var
code,tmp,html:string;
r : TRegExpr;
begin
html:='<title>епт</title>';
r := TRegExpr.Create;
try
    r.Expression := EmailRE;
    if r.Exec () then
      REPEAT
      tmp:=r.Match [1];
      code := code + tmp;
      UNTIL not r.ExecNext;
    finally r.Free;
  end;
ShowMessage(code);


eLWAux 07.05.2009 00:04

Hormold, думаш в файле много title'ов? )

eLWAux 07.05.2009 00:10

Код:

var RegExp : TRegExpr;
    input : string;
begin
 input := 'Memo1<a href="http://abc.def">nana</a>sabd<a href="http://aaabc.def">nangga</a>as';
 RegExp := TRegExpr.Create;

 RegExp.Expression := '<a href="(.+?)">(.+?)</a>';
 if RegExp.Exec(input) then
      repeat
        showmessage('Name: '+RegExp.Match[2]+#13#10+
                    'Url:  '+RegExp.Match[1]);
      until not RegExp.ExecNext;


/^scriptor$/ 20.05.2009 00:48

вот так привильно:
Код:

RegExp1.Expression:='<a href=(.?*) .*>';

LEE_ROY 20.05.2009 02:36

Цитата:

Сообщение от mailbrush
Ну тыкнул ты ссылку, и что? Синтаксис регулярок я знаю. Эту же регулярку применил в PHP - все заработало. Тут - нету. Нечего сказать - промолчи!

ололо

Fepsis 23.09.2009 01:24

В силу того, что сайт http://regexpstudio.com/ сейчас по каким-то причинам в дауне, прошу поделиться тем, что было тут http://regexpstudio.com/downloads/regexpr_ru.zip
В большей степени интересует документация, сам компонент я нашёл..)

Chrome~ 23.09.2009 19:08

Не знаю, то ли ты ищешь, или нет, но вот возьми этот Help файл. В нем описаны основные принципы работы с компонентом и примеры регулярных выражений.
Код:

http://rapidshare.com/files/283957681/Help.rar.html


Время: 13:53