Автор Тема: Помогите с шаблоном Regexp  (Прочитано 5115 раз)

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

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Помогите с шаблоном Regexp
« : 31 Января 2005, 19:18:23 »
Есть некоторый текст, заключенный в теги
:

12:30 Новости
12:50 Погода
13:00 Сериал


Если быть конкретным, то программка.
нужно все что между тегами prу привести к виду:

12:30Новости
12:50Погода
13:00Сериал

Причем нужно сделать это именно одной регуляркой...


$text
="<pre>
12:30 ntst
34:56 ншек
23:12 рапов
</pre>"
;

$text=~s/(\\d{2}:\\d{2}){1} (.*)/\\\\<tr\\\\>\\\\<td\\\\>$1\\\\<\\\\/td\\\\>\\\\<td\\\\>$2\\\\<\\\\/td\\\\>\\\\<\\\\/tr\\\\>/gi;
print 
$text;

Но здесь проблема в том, что менять будет не только между тегами pre

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Помогите с шаблоном Regexp
« Ответ #1 : 31 Января 2005, 19:20:19 »
PS перед <> надо прослешить, форум, что-то код коверкает :(

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Помогите с шаблоном Regexp
« Ответ #2 : 31 Января 2005, 19:39:18 »
use re \'debug\';
The documentations is your friend

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Помогите с шаблоном Regexp
« Ответ #3 : 31 Января 2005, 19:42:26 »
и что дальше?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Помогите с шаблоном Regexp
« Ответ #4 : 31 Января 2005, 19:46:31 »
Ardzhan а дальше читать что тебе пишут.
Подсказка, ошибка тупая - сам будешь смеяться когда найдешь.
The documentations is your friend

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Помогите с шаблоном Regexp
« Ответ #5 : 31 Января 2005, 20:03:29 »
так я ж и говорю, что эта регулярка заменит все, даже то, что вне тегов
... И отрабатывает она соответсвенно предполагаемому... А мне надо ее модифицировать, чтоб замену производила внутри 
..

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Помогите с шаблоном Regexp
« Ответ #6 : 31 Января 2005, 20:12:41 »
Цитировать
use HTML::TokeParser;
$p = HTML::TokeParser->new(\\$text);

$temp = $p->get_text("pre", "/pre");
$temp =~ s/(\\d{2}:\\d{2})\\s+?(.*)/$1<\\/td>$2<\\/td><\\/tr>/gi;
print $temp;
The documentations is your friend

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Помогите с шаблоном Regexp
« Ответ #7 : 31 Января 2005, 20:27:08 »
Ну не верю я, что такая задачка не решается одной регуляркой. Зачем мне модули подключать, я моги и так сделать:

$temp
=~s/\\<pre\\>(.*?)\\<\\/pre\\>/$1/is)
$temp =~ s/(\\d{2}:\\d{2})\\s+?(.*)/<tr><td>$1<\\/td><td>$2<\\/td><\\/tr>/gi;

Те же яица, только в профиль... В том-то и заморочка, чтоб сделать именно одной регуляркой!!! Это уже просто вопрос принципа.

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Помогите с шаблоном Regexp
« Ответ #8 : 31 Января 2005, 21:00:54 »
Есть такая, прикольная, штуковина regexEvaluater.pl, но к сожалению линк дать не могу, парень видимо свалил с аркора, у меня есть она, если нужно могу намылить, если адрес дадите.
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Помогите с шаблоном Regexp
« Ответ #9 : 01 Февраля 2005, 12:56:03 »
Что за скрипт?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Помогите с шаблоном Regexp
« Ответ #10 : 01 Февраля 2005, 13:19:19 »
Цитировать
Ardzhan:
Ну не верю я, что такая задачка не решается одной регуляркой.

Верю-неверю это уровень детского сада. Есть идеи - пиши. Нет - слушай.
Цитировать
Ardzhan:
Зачем мне модули подключать, я моги и так сделать:
$temp=~s/
(.*?)
/$1/is)

Можешь. Велосипед тоже самолет, только летает низко.
Чтот твоя регулярка скажет на
 или < pre > или еще сотни две вариантов? Почитай кукбук перед тем как спорить
http://www.unix.org.ua/orelly/perl/cookbook/ch20_07.htm
The documentations is your friend

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
Помогите с шаблоном Regexp
« Ответ #11 : 01 Февраля 2005, 13:23:41 »
А мне и не надо обрабатывать сотни вариантов, мне надо именно

 

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