Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Delphi - RegExp (Регулярные выражения) |

06.05.2009, 23:23
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Delphi - RegExp (Регулярные выражения)
Либо я что-то не так делаю, либо TRegExpr криво пашет. Есть HTML-страничка. Пытаюсь вывести все ссылки
Код:
RegExp1.Expression:='<a href=(.*) .*>';
При выводе - выводит криво, а т.е. весь документ. Так пусто. Посоветуйте как решить эту траблу, или норм. компоннент для регулярок в дельфи.
Последний раз редактировалось mailbrush; 06.05.2009 в 23:53..
|
|
|

06.05.2009, 23:27
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
http://forum.vingrad.ru/articles/topic-213075.html
|
|
|

06.05.2009, 23:53
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Ну тыкнул ты ссылку, и что? Синтаксис регулярок я знаю. Эту же регулярку применил в PHP - все заработало. Тут - нету. Нечего сказать - промолчи!
|
|
|

07.05.2009, 00:03
|
|
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме: 3250478
Репутация:
999
|
|
Код:
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);
|
|
|

07.05.2009, 00:04
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
Hormold, думаш в файле много title'ов? )
|
|
|

07.05.2009, 00:10
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
Код:
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;
|
|
|

20.05.2009, 00:48
|
|
Новичок
Регистрация: 11.04.2009
Сообщений: 13
Провел на форуме: 34367
Репутация:
0
|
|
вот так привильно:
Код:
RegExp1.Expression:='<a href=(.?*) .*>';
|
|
|

20.05.2009, 02:36
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
Сообщение от mailbrush
Ну тыкнул ты ссылку, и что? Синтаксис регулярок я знаю. Эту же регулярку применил в PHP - все заработало. Тут - нету. Нечего сказать - промолчи!
ололо
|
|
|

23.09.2009, 01:24
|
|
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме: 6962560
Репутация:
536
|
|
В силу того, что сайт http://regexpstudio.com/ сейчас по каким-то причинам в дауне, прошу поделиться тем, что было тут http://regexpstudio.com/downloads/regexpr_ru.zip
В большей степени интересует документация, сам компонент я нашёл..)
|
|
|

23.09.2009, 19:08
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
Не знаю, то ли ты ищешь, или нет, но вот возьми этот Help файл. В нем описаны основные принципы работы с компонентом и примеры регулярных выражений.
Код:
http://rapidshare.com/files/283957681/Help.rar.html
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|