Автор Тема: Регулярные выражения  (Прочитано 3100 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alex V. White

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярные выражения
« : 05 Июня 2003, 17:53:36 »
Вытягиваю таблицу фьючерсов с сайта при помощи модуля LWP::Simple. Страницу целиком тяну нормально, а вот потом мне надо вытянуть из нее одну таблицу (там их много). Помогите составить выражение для этого.
Страница которую я вытягиваю имеет вид:
Otto Stadtlander GmbH
потом всякая пурга
ЭТУ ТАБЛИЦУ НАДО ВЫТЯНУТЬ
















и так далее
в конце таблицы
NEW YORK FUTURES
04.06.03

 
HIGH LOW LAST CHANGE
2003 July 50,05 48,15 49,64 + 101


Подскажите плз! как эту таблицу полностью смыкануть.

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Регулярные выражения
« Ответ #1 : 05 Июня 2003, 19:33:41 »
Если исходник в $_:


($tbl) = /().)*\\bNEW\\sYORK\\sFUTURES\\b.*?<\\/table>)/is;


PS. Смайлики в регэкспе - это супер :D
:( - это двоеточие и скобка.
« Последнее редактирование: 05 Июня 2003, 19:41:54 от mike »
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Alex V. White

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярные выражения
« Ответ #2 : 06 Июня 2003, 15:39:03 »
Что то не то делаю, не выходит.
Первая строка таблицы:

без перевода строки - одна строка.
последняя:

 

 

 
это срока целиком.
Исходник находится в $doc


Оффлайн Alex V. White

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярные выражения
« Ответ #3 : 06 Июня 2003, 15:42:53 »
В последней строке между

стоят   - символя пробелов.
Мне бы отловить то что между и , далее я ее чуток переформатирую и напечатаю print "$doc


Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Регулярные выражения
« Ответ #4 : 06 Июня 2003, 18:19:03 »
После закрывающего тега почему-то вставился пробел. Думаю, стоит убрать. :)

Если исходник в $doc, то
($tbl) = $doc =~ /]*>((?:(?!<\\/table>).)*\\bNEW\\s+YORK\\s+FUTURES\\b.*?)<\\/table>/is;
« Последнее редактирование: 06 Июня 2003, 18:32:26 от mike »
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Alex V. White

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярные выражения
« Ответ #5 : 06 Июня 2003, 18:31:21 »
Спасибо БОЛЬШОЕ!
Уже вышло.
Буду форматировать.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28