Есть некоторый текст, заключенный в теги :
12:30 Новости
12:50 Погода
13:00 Сериал
Если быть конкретным, то программка.
нужно все что между тегами prу привести к виду:
12:30 | Новости |
12:50 | Погода |
13:00 | Сериал |
Причем нужно сделать это именно одной регуляркой...
$text="
12:30 ntst
34:56 ншек
23:12 рапов
";
$text=~s/(\\d{2}:\\d{2}){1} (.*)/\\\\\\\\$1\\\\<\\\\/td\\\\>\\\\ | $2\\\\<\\\\/td\\\\>\\\\<\\\\/tr\\\\>/gi; print $text;
Но здесь проблема в том, что менять будет не только между тегами pre
PS перед <> надо прослешить, форум, что-то код коверкает :(
use re \'debug\';
и что дальше?
Ardzhan а дальше читать что тебе пишут. Подсказка, ошибка тупая - сам будешь смеяться когда найдешь.
так я ж и говорю, что эта регулярка заменит все, даже то, что вне тегов ... И отрабатывает она соответсвенно предполагаемому... А мне надо ее модифицировать, чтоб замену производила внутри ..
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;
Ну не верю я, что такая задачка не решается одной регуляркой. Зачем мне модули подключать, я моги и так сделать:
$temp=~s/\\(.*?)\\<\\/pre\\>/$1/is) $temp =~ s/(\\d{2}:\\d{2})\\s+?(.*)/$1<\\/td> | $2<\\/td><\\/tr>/gi;
Те же яица, только в профиль... В том-то и заморочка, чтоб сделать именно одной регуляркой!!! Это уже просто вопрос принципа.
Есть такая, прикольная, штуковина regexEvaluater.pl, но к сожалению линк дать не могу, парень видимо свалил с аркора, у меня есть она, если нужно могу намылить, если адрес дадите.
Что за скрипт?
Ardzhan: Ну не верю я, что такая задачка не решается одной регуляркой. Верю-неверю это уровень детского сада. Есть идеи - пиши. Нет - слушай. Ardzhan: Зачем мне модули подключать, я моги и так сделать: $temp=~s/(.*?) /$1/is) Можешь. Велосипед тоже самолет, только летает низко. Чтот твоя регулярка скажет на или < pre > или еще сотни две вариантов? Почитай кукбук перед тем как спорить http://www.unix.org.ua/orelly/perl/cookbook/ch20_07.htm
А мне и не надо обрабатывать сотни вариантов, мне надо именно
| | |