[mdk-re] Re[2]: [mdk-re] Re: [mdk-re] офтопик - регул ярные выражения
Anton Farygin
=?iso-8859-1?q?rider_=CE=C1_altlinux=2Eru?=
Вс Май 27 18:54:01 MSD 2001
Sergey Degtyaryov wrote:
> Доброго времени суток, Anton,
>
> 25.05.2001 в 16:14 Вы сказали буквально следующее:
>
> >>>Нет, нет, я про модификаторы сзади. В приведенном примере нужно
> >>>добавить 's' позади pattern'а, чтобы '.*?' захватывали символы перевода строки.
>
> AF> А как быть в случае, если искать нужно вот в такой строке:
>
> AF> <li><font size=+1><a
> AF> href=
> AF> "Линк
> AF> "
> AF> >Название</a>Дата</font></li>
>
> А что - s не помогает?
>
> #!/usr/bin/perl
> $_ = '<a
> href=
> l
> i
> n
> k
> >
> t
> i
> t
> l
> e
> </a>
> d
> a
> t
> e
> </font>
> </li>';
>
> @results = /href=(.*?)>(.*?)<\/a>(.*?)<\/font>/s; # вот тут
> foreach (@results) {s/\n//g}
> print join "\n", @results;
> exit;
>
> link
> title
> date
Не совсем такая задача - смысл все делать в одном регулярном выражении.
Вот например :
cat man_test.html |perl -p -e 's/(<)(.*?)(\n)/\1\2/gs''
Убирает первый перевод строки. А вот как убрать все последующие?
Убрать их вообще во всех тегах. Т.е. между "<" и ">"
Запускать это выражения я буду в PHP. Соответсвенно перловые конструкции не катят :-(
Работают только регулярные выражения.
Rgds
Rider
Подробная информация о списке рассылки community