Либо я что-то не так делаю, либо TRegExpr криво пашет. Есть HTML-страничка. Пытаюсь вывести все ссылки Code: RegExp1.Expression:='<a href=(.*) .*>'; При выводе Code: RegExp1.Match[0] - выводит криво, а т.е. весь документ. Code: RegExp1.Match[1] Так пусто. Посоветуйте как решить эту траблу, или норм. компоннент для регулярок в дельфи.
Ну тыкнул ты ссылку, и что? Синтаксис регулярок я знаю. Эту же регулярку применил в PHP - все заработало. Тут - нету. Нечего сказать - промолчи!
Code: 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);
Code: 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;
В силу того, что сайт http://regexpstudio.com/ сейчас по каким-то причинам в дауне, прошу поделиться тем, что было тут http://regexpstudio.com/downloads/regexpr_ru.zip В большей степени интересует документация, сам компонент я нашёл..)
Не знаю, то ли ты ищешь, или нет, но вот возьми этот Help файл. В нем описаны основные принципы работы с компонентом и примеры регулярных выражений. Code: http://rapidshare.com/files/283957681/Help.rar.html
Code: RegExp := TRegExpr.Create; HTMLStr := 'шлак ыврафып<title>ололо!!!!!11</title>шлак фываыв'; RegExp.Expression := '<title>(.+?)</title>'; RegExp.Exec(HTMLStr); ShowMessage(RegExp.Match[0]); Выаёт результат <title>ололо!!!!!11</title> (вместе с тегами тайтла) Пробовал разные комбинации (.+?), (.+), (.*?), (.*) - безрезультатно... Как вытащить без тайтлов..?!
http://www.delphisources.ru/files/sources/raznoe/2007_year/regexp_debugger.zip Там в архиве файл RegExpr.pas как раз и есть этот компонент..)