Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2015, 10:56   #31
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

вам дали ссылку на документацию. что еще надо?
lomastr_ вне форума Ответить с цитированием
Старый 11.02.2015, 11:48   #32
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от nibufep Посмотреть сообщение
что не кто не поможет
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s: String;
begin
   s := '<span>10:00</span>Текст текст тест<a href="/link" class="fin">Еще текст</a>'  +
        '<span>10:10</span>Текст текст тест<a href="/link2" class="fin">Еще текст</a>' +
        '<span>10:20</span>Текст текст тест<a href="/link3" class="fin">Еще текст</a>' +
        '<span class="live">10:30</span><img src="img.gif" class="class-serve" />Текст текст тест<a href="/link5" class="live">Еще текст</a>';

   with TRegExpr.Create do try

      Expression := '<spa.+?>(.+?)(</span><img src.+?>|</span>)(.+?)<a href.+?class.+?>(.+?)</a>';

       if Exec(s) then repeat
         ListBox1.Items.Add(Match[1] + ' ' + Match[3] + ' ' + Match[4]);
       until not ExecNext;

   finally Free;
   end;
end;
end.
Следующую строку сам распарсишь?

Я сегодня добрый)))
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s: String;
begin
   s := '<span>10:00</span>Текст текст тест<a href="/link" class="fin">Еще текст</a>'  +
        '<span>10:10</span>Текст текст тест<a href="/link2" class="fin">Еще текст</a>' +
        '<span>10:20</span>Текст текст тест<a href="/link3" class="fin">Еще текст</a>' +
        '<span class="live">10:30</span><img src="img.gif" class="class-serve" />Текст текст тест<a href="/link5" class="live">Еще текст</a>' +
        '<span>10:40<span class="status">Убран</span></span>Текст текст тест<a href="/link3" class="fin">';

   with TRegExpr.Create do try

      Expression := '<spa.+?>(.+?)(</span><img src.+?>|<.+?pa.+?>)(.+?)(<a href.+?class.+?>|</span></span>)(.+?)(</a>|<a href.+?class.+?>)';

       if Exec(s) then repeat
         ListBox1.Items.Add(Match[1] + ' ' + Match[3] + ' ' + Match[5]);
       until not ExecNext;

   finally Free;
   end;
end;
end.

Последний раз редактировалось Iron Monk; 11.02.2015 в 12:04. Причина: Добавил строку)))
Iron Monk вне форума Ответить с цитированием
Старый 11.02.2015, 18:00   #33
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Iron Monk,
Цитата:
<span class="live">10:30</span>Текст1<img src="/res/image/blank.gif" class="tennis-serve" />Продолжение Текст1<a href="/link5" class="live">Еще текст</a>
Вот в таком шаблоне парсится мусор:
<img src="/res/image/blank.gif" class="tennis-serve" />
nibufep вне форума Ответить с цитированием
Старый 11.02.2015, 19:06   #34
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от nibufep Посмотреть сообщение
Iron Monk,
Вот в таком шаблоне парсится мусор:
<img src="/res/image/blank.gif" class="tennis-serve" />
Вы бы, чтоб здесь не бился народ с неведомым, файлик приложили. Как-то не очень по кусочкам информацию получать...
Iron Monk вне форума Ответить с цитированием
Старый 11.02.2015, 19:13   #35
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Да уже не нужно, я разобрался с этим! Всем большое спасибо за помощь!
nibufep вне форума Ответить с цитированием
Старый 11.02.2015, 19:57   #36
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

А вот еще, у таблиц есть заголовки

Например идет Заголовок и дальше выводятся несколько любых шаблонов для которых регулярки делали.

Вот так выглядит:

Цитата:
<h4>Заголовок 1</h4>
****Тут выводятся****
<h4>Заголовок 2</h4>
****Тут выводятся****
и тд.

Как мне вывести текст только из под нужных заголовков. Тоесь если там есть определеный текст то вывести, если нет то не нужно.
nibufep вне форума Ответить с цитированием
Старый 11.02.2015, 23:24   #37
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Сделал вот так:

Код:
RegExpr.Expression := '<h4>(WWW|AAA)(.*?)</h4><spa.+?>(.+?)(</span><img src.+?>|<.+?pa.+?>)(.+?)(<a href.+?class.+?>|</span></span>)(.+?)(</a>|<a href.+?class.+?>)';
Ну парсит только по 1 столбику из каждой таблицы, а нужно чтобы все парсило, как сделать?
nibufep вне форума Ответить с цитированием
Старый 12.02.2015, 14:43   #38
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Что не получится так сделать?
nibufep вне форума Ответить с цитированием
Старый 12.02.2015, 14:49   #39
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

спросите тут
lomastr_ вне форума Ответить с цитированием
Старый 08.01.2016, 04:39   #40
viktor-zakal
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 14
По умолчанию

Цитата:
Сообщение от nibufep Посмотреть сообщение
Сделал вот так:

Код:
RegExpr.Expression := '<h4>(WWW|AAA)(.*?)</h4><spa.+?>(.+?)(</span><img src.+?>|<.+?pa.+?>)(.+?)(<a href.+?class.+?>|</span></span>)(.+?)(</a>|<a href.+?class.+?>)';
Ну парсит только по 1 столбику из каждой таблицы, а нужно чтобы все парсило, как сделать?
ну так пройтись надо было циклом и все)))
Код:
  if RegExp.Exec(Text) then
   begin
    repeat
      // выводим для примера в мемо)))
      Memo1.Lines.Add(RegExp.Match[1]+RegExp.Match[1]+ И ТАК ДАЛЕЕ...); 
    until not RegExp.ExecNext;
end;

Последний раз редактировалось viktor-zakal; 08.01.2016 в 04:40. Причина: синтаксис
viktor-zakal вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
распарсить сторку bulldog5293 Общие вопросы Delphi 9 18.02.2011 23:57
Распарсить строку bulldog5293 Работа с сетью в Delphi 7 18.12.2010 19:25
Распарсить прайс Sanyo Microsoft Office Excel 7 13.11.2009 17:01
Помогите распарсить строку Alexander1991 Помощь студентам 1 08.03.2009 22:33
Распарсить HTML Табурет Общие вопросы C/C++ 11 02.03.2008 19:26