ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Delphi - RegExp (Регулярные выражения)
  #1  
Старый 06.05.2009, 23:23
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию Delphi - RegExp (Регулярные выражения)

Либо я что-то не так делаю, либо TRegExpr криво пашет. Есть HTML-страничка. Пытаюсь вывести все ссылки
Код:
RegExp1.Expression:='<a href=(.*) .*>';
При выводе
Код:
RegExp1.Match[0]
- выводит криво, а т.е. весь документ.
Код:
RegExp1.Match[1]
Так пусто. Посоветуйте как решить эту траблу, или норм. компоннент для регулярок в дельфи.

Последний раз редактировалось mailbrush; 06.05.2009 в 23:53..
 
Ответить с цитированием

  #2  
Старый 06.05.2009, 23:27
Аватар для LEE_ROY
LEE_ROY
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме:
1917742

Репутация: 541


По умолчанию

http://forum.vingrad.ru/articles/topic-213075.html
 
Ответить с цитированием

  #3  
Старый 06.05.2009, 23:53
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

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

  #4  
Старый 07.05.2009, 00:03
Аватар для -Hormold-
-Hormold-
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме:
3250478

Репутация: 999


Отправить сообщение для -Hormold- с помощью ICQ
По умолчанию

Код:
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);
 
Ответить с цитированием

  #5  
Старый 07.05.2009, 00:04
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

Hormold, думаш в файле много title'ов? )
 
Ответить с цитированием

  #6  
Старый 07.05.2009, 00:10
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

Код:
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;
 
Ответить с цитированием

  #7  
Старый 20.05.2009, 00:48
Аватар для /^scriptor$/
/^scriptor$/
Новичок
Регистрация: 11.04.2009
Сообщений: 13
Провел на форуме:
34367

Репутация: 0
По умолчанию

вот так привильно:
Код:
RegExp1.Expression:='<a href=(.?*) .*>';
 
Ответить с цитированием

  #8  
Старый 20.05.2009, 02:36
Аватар для LEE_ROY
LEE_ROY
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме:
1917742

Репутация: 541


По умолчанию

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

  #9  
Старый 23.09.2009, 01:24
Аватар для Fepsis
Fepsis
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме:
6962560

Репутация: 536


По умолчанию

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

  #10  
Старый 23.09.2009, 19:08
Аватар для Chrome~
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме:
1747641

Репутация: 175
Отправить сообщение для Chrome~ с помощью ICQ
По умолчанию

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрый Blind SQL Injection Qwazar Авторские статьи 34 13.06.2010 20:50
Интересные вопросы по Delphi и не только CeHoKoC С/С++, C#, Delphi, .NET, Asm 4 20.04.2009 10:33
[статья] Решаем судоку на delphi crystalbit С/С++, C#, Delphi, .NET, Asm 2 31.03.2009 16:17
Стоит ли писать это в Delphi? Ch@RM0nt Болталка 20 01.12.2008 20:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ