<br><br><div class="gmail_quote">2009/5/29 Yuri Pac <span dir="ltr"><<a href="mailto:yu.pats@gmail.com">yu.pats@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Полное построение дерева будет медленее существующих решений, но если<br>
надо вырвать из ХМЛ только часть данных, то быстрее :)</blockquote><div><br>Построение дерева -- это не парсинг, это следующий уровень после парсинга.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div class="h5">
2009/5/29 Andrei <<a href="mailto:andrei.protasovitski@gmail.com">andrei.protasovitski@gmail.com</a>>:<br>
><br>
><br>
> 2009/5/29 Yuri Pac <<a href="mailto:yu.pats@gmail.com">yu.pats@gmail.com</a>><br>
>><br>
>> Ну вообще-то основная идея вышеупомянутого доклада П. Кудинова была<br>
>> именно в том, что ну его нах парсить ХМЛ (любым способом) не используя<br>
>> граф ядра видюхи :)<br>
><br>
> А моя идея в том, что на pure perl с re можно парсить! Главное, знать, как<br>
> читать XML. :)<br>
><br>
>><br>
>> 2009/5/29 Andrei <<a href="mailto:andrei.protasovitski@gmail.com">andrei.protasovitski@gmail.com</a>>:<br>
>> ><br>
>> ><br>
>> > 2009/5/29 Andrew Shitov <<a href="mailto:andy@shitov.ru">andy@shitov.ru</a>><br>
>> >><br>
>> >> > Прошу простить моё невежество, а что такое рекурсивные регэкспы?<br>
>> >><br>
>> >> Это рулез, который может парсить, например, вложенные скобки.<br>
>> >><br>
>> >> my $expr = '1 + (2 + (3 + (4 + 5) + 6))';<br>
>> >><br>
>> >> $expr =~ s/<br>
>> >> \(<br>
>> >> (<br>
>> >> [^()]+<br>
>> >> )<br>
>> >> |<br>
>> >> (?1) ## Вот здесь рекурсивно вызывается выражение,<br>
>> >> которое матчится первыми скобками<br>
>> >> \)<br>
>> >> /say $1;/xge;<br>
>> ><br>
>> > Да, я уже нашёл. Но что-то мне подсказывает, что этот рулез нервно курит<br>
>> > в<br>
>> > сторонке, когда речь идёт об XML со всеми его комментариями, областями<br>
>> > CDATA, инструкциями обработки (processing instructions), неймспейсами и<br>
>> > прочими полезными вещами. Опять же, много мегабайтный XML, который<br>
>> > валится<br>
>> > через сокет даже такими регэкспами вряд ли удасться эффективно<br>
>> > распарсить.<br>
>> ><br>
>> >><br>
>> >> --<br>
>> >> Andrew Shitov<br>
>> >> ______________________________________________________________________<br>
>> >> <a href="mailto:andy@shitov.ru">andy@shitov.ru</a> | <a href="http://shitov.ru" target="_blank">http://shitov.ru</a><br>
>> >> _______________________________________________<br>
>> >> Minsk-pm mailing list<br>
>> >> <a href="mailto:Minsk-pm@pm.org">Minsk-pm@pm.org</a><br>
>> >> <a href="http://mail.pm.org/mailman/listinfo/minsk-pm" target="_blank">http://mail.pm.org/mailman/listinfo/minsk-pm</a><br>
>> ><br>
>> ><br>
>> ><br>
>> > --<br>
>> > Andrei Protasovitski<br>
>> > < andrei[dot]protasovitski[at]gmail[dot]com ><br>
>> > Minsk, Belarus<br>
>> ><br>
>> > _______________________________________________<br>
>> > Minsk-pm mailing list<br>
>> > <a href="mailto:Minsk-pm@pm.org">Minsk-pm@pm.org</a><br>
>> > <a href="http://mail.pm.org/mailman/listinfo/minsk-pm" target="_blank">http://mail.pm.org/mailman/listinfo/minsk-pm</a><br>
>> ><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> WBR, Yuri Pac<br>
>> _______________________________________________<br>
>> Minsk-pm mailing list<br>
>> <a href="mailto:Minsk-pm@pm.org">Minsk-pm@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/minsk-pm" target="_blank">http://mail.pm.org/mailman/listinfo/minsk-pm</a><br>
><br>
><br>
><br>
> --<br>
> Andrei Protasovitski<br>
> < andrei[dot]protasovitski[at]gmail[dot]com ><br>
> Minsk, Belarus<br>
><br>
> _______________________________________________<br>
> Minsk-pm mailing list<br>
> <a href="mailto:Minsk-pm@pm.org">Minsk-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/minsk-pm" target="_blank">http://mail.pm.org/mailman/listinfo/minsk-pm</a><br>
><br>
><br>
<br>
<br>
<br>
--<br>
WBR, Yuri Pac<br>
_______________________________________________<br>
Minsk-pm mailing list<br>
<a href="mailto:Minsk-pm@pm.org">Minsk-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/minsk-pm" target="_blank">http://mail.pm.org/mailman/listinfo/minsk-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Andrei Protasovitski<br>< andrei[dot]protasovitski[at]gmail[dot]com ><br>Minsk, Belarus<br>