Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
g3nchik
6 / 6 / 0
Регистрация: 17.08.2012
Сообщений: 170
1

Спарсить регуляркой

08.03.2014, 21:53. Просмотров 439. Ответов 6
Метки нет (Все метки)

Помогите спарсить регуляркой слово sa-mp-442.png между тегом <a> </a>
HTML5
1
<a href="http://rghost.ru/download/52916801/e769821364de034ebf98e1c34736f6b2e9e4ec5c/sa-mp-442.png" class="header_link" onclick="_gaq.push(['_trackEvent', 'files', 'download', location.href]);" rel="nofollow" title="Скачать sa-mp-442.png">sa-mp-442.png</a>
Использую библиотеку RegExpr
http://cybern.ru/regular-expressions-delphi.html

Знаю, что в php так:
Код
/<a href="(.+)" class="header_link" (.+)>(.+)<\/a>/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2014, 21:53
Ответы с готовыми решениями:

Спарсить текст
Добрый день, уважаемые форумчане. Не могу разобраться, как вытащить информацию...

как спарсить?
Как спарсить в ответе от сервера слово с символом '? '

Как спарсить?
Всем привет) есть такой код на сайте &lt;option value=&quot;&quot;&gt;year&lt;/option&gt; ...

Спарсить предложение
Имеется кусок кода: &lt;div id=&quot;text_history&quot; class=&quot;fliess10px-white...

Как спарсить в цикле?
В общем, есть код страницы: &lt;div id=&quot;list_my-sites&quot; class=&quot;profile-bevel...

6
NIKOLAYY
819 / 717 / 339
Регистрация: 22.09.2012
Сообщений: 4,995
08.03.2014, 22:28 2
g3nchik,

Delphi
1
2
3
4
5
6
7
8
9
10
var
  r: TRegExpr;
  str: string;
begin
  r := TRegExpr.Create;
  r.InputString := Memo1.Text; //èëè ãäå ГІГ*Г¬ Гі ГІГҐГЎГї ñòðîêГ*
  r.Expression := '<a href=".*? class="header_link" .*?">(.*?)</a>';
  if r.Exec then
    str := r.Match[1];
end;
0
g3nchik
6 / 6 / 0
Регистрация: 17.08.2012
Сообщений: 170
08.03.2014, 22:34  [ТС] 3
Нет, не работает.
Delphi
1
2
3
4
5
r:= TRegExpr.Create;
         r.InputString:= memo1.Text;
         r.Expression:= '<a href=".*? class="header_link" .*?">(.*?)</a>';
         if r.Exec then
          showmessage(r.Match[2]);
0
NIKOLAYY
819 / 717 / 339
Регистрация: 22.09.2012
Сообщений: 4,995
08.03.2014, 22:39 4
g3nchik,

Ты в Match[2] парсил а надо в Match[1]
0
g3nchik
6 / 6 / 0
Регистрация: 17.08.2012
Сообщений: 170
08.03.2014, 22:44  [ТС] 5
и так и так не робит.
Какие-то странные регулярки в delphi
0
NIKOLAYY
819 / 717 / 339
Регистрация: 22.09.2012
Сообщений: 4,995
08.03.2014, 23:13 6
g3nchik,
Да нету ни че странного нормально все у меня парсит, че там у тебя незнаю. Убери перенос строк из мемо-поля.

Delphi
1
r.Expression := '<a href=".*?class="header_link".*?">(.*?)</a>'; //добавь это попробуй в местах переноса \s{0,}
0
Миниатюры
Спарсить регуляркой  
NIKOLAYY
819 / 717 / 339
Регистрация: 22.09.2012
Сообщений: 4,995
08.03.2014, 23:19 7
Если непойдет у тебя- перепиши регулярку ну хотя бы так:

r.Expression := '<a.*?">(.*?)</a>';

Так точно спарсит, но так и лишка можно напарсить..
0
08.03.2014, 23:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2014, 23:19

Delphi как спарсить?
Помогите спарсить! Я нашел на вашем сайте код: function...

Спарсить нужное значение
Здравствуйте уважаемые форумчане. Помогите спарсить нужное значение. ...

Как спарсить JSon?
Нужно из строки ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru