[mdk-re] Re: [mdk-re] офтопик - регулярные выражения

Mikhail Zabaluev =?iso-8859-1?q?mhz_=CE=C1_alt-linux=2Eorg?=
Сб Май 19 13:09:01 MSD 2001


Hello Sergey,

On Sat, May 19, 2001 at 04:38:50AM +0400, Sergey Degtyaryov wrote:
>
> On Sat, 19 May 2001 03:10:07 +0400
> Mikhail Zabaluev <mhz на alt-linux.org> wrote:
> 
> > > Задача:
> > > Перловый скрипт.
> > > Есть одна длинная строка вынутая из файла html, сваленная в переменную:
> > > 
> > > <li><font size=+1><a
> > > href=\"./CombatSystem/Drop_sequence.html">Последовательность действий
> > > перед боем.</a> Updated 9:05:2001</font></li>
> 
> > > ./CombatSystem/Drop_sequence.html
> > > Последовательность действий перед боем.
> > > 9:05:2001
> 
> Именно данная строка (и подобные ей) разбирается так:
> #$text = '<li><font size=+1><a href="Линк">Название</a>Дата</font></li>';
> $text  =~ /<a href=(.*?)>(.*?)<\/a>(.*?)<\/font>/;
> print "$1, $2, $3\n";
> Хотя лучше конечно посмотреть в сторону HTML::Parser
> 
> > Нужно читать про модификаторы 'm' и 's' для перловых регулярных
> > выражений. Можно заработать небольшой отек головы (я до сих пор не
> > сразу вспоминаю, какой из них что дает), 
> 
> m - поиск, s - замена =)

Нет, нет, я про модификаторы сзади. В приведенном примере нужно
добавить 's' позади pattern'а, чтобы '.*?' захватывали символы перевода строки.

P.S. HTML::Parser действительно рулит.

-- 
Stay tuned,
  MhZ                                     JID: mookid на jabber.org
___________
You will always have good luck in your personal affairs.




Подробная информация о списке рассылки community