<br><br><div class="gmail_quote">2009/5/29 Yuri Pac <span dir="ltr">&lt;<a href="mailto:yu.pats@gmail.com">yu.pats@gmail.com</a>&gt;</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>
именно в том, что ну его нах парсить ХМЛ (любым способом) не используя<br>
граф ядра видюхи :)</blockquote><div><br>А моя идея в том, что на pure perl с re можно парсить! Главное, знать, как читать XML. :)<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;">

2009/5/29 Andrei &lt;<a href="mailto:andrei.protasovitski@gmail.com">andrei.protasovitski@gmail.com</a>&gt;:<br>
<div><div></div><div class="h5">&gt;<br>
&gt;<br>
&gt; 2009/5/29 Andrew Shitov &lt;<a href="mailto:andy@shitov.ru">andy@shitov.ru</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; Прошу простить моё невежество, а что такое рекурсивные регэкспы?<br>
&gt;&gt;<br>
&gt;&gt; Это рулез, который может парсить, например, вложенные скобки.<br>
&gt;&gt;<br>
&gt;&gt; my $expr = &#39;1 + (2 + (3 + (4 + 5) + 6))&#39;;<br>
&gt;&gt;<br>
&gt;&gt; $expr =~ s/<br>
&gt;&gt;   \(<br>
&gt;&gt;      (<br>
&gt;&gt;         [^()]+<br>
&gt;&gt;      )<br>
&gt;&gt;   |<br>
&gt;&gt;      (?1)            ## Вот здесь рекурсивно вызывается выражение,<br>
&gt;&gt; которое матчится первыми скобками<br>
&gt;&gt;   \)<br>
&gt;&gt; /say $1;/xge;<br>
&gt;<br>
&gt; Да, я уже нашёл. Но что-то мне подсказывает, что этот рулез нервно курит в<br>
&gt; сторонке, когда речь идёт об XML со всеми его комментариями, областями<br>
&gt; CDATA, инструкциями обработки (processing instructions), неймспейсами и<br>
&gt; прочими полезными вещами. Опять же, много мегабайтный XML, который валится<br>
&gt; через сокет даже такими регэкспами вряд ли удасться эффективно распарсить.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Andrew Shitov<br>
&gt;&gt; ______________________________________________________________________<br>
&gt;&gt; <a href="mailto:andy@shitov.ru">andy@shitov.ru</a> | <a href="http://shitov.ru" target="_blank">http://shitov.ru</a><br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Minsk-pm mailing list<br>
&gt;&gt; <a href="mailto:Minsk-pm@pm.org">Minsk-pm@pm.org</a><br>
&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/minsk-pm" target="_blank">http://mail.pm.org/mailman/listinfo/minsk-pm</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Andrei Protasovitski<br>
&gt; &lt; andrei[dot]protasovitski[at]gmail[dot]com &gt;<br>
&gt; Minsk, Belarus<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Minsk-pm mailing list<br>
&gt; <a href="mailto:Minsk-pm@pm.org">Minsk-pm@pm.org</a><br>
&gt; <a href="http://mail.pm.org/mailman/listinfo/minsk-pm" target="_blank">http://mail.pm.org/mailman/listinfo/minsk-pm</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
</div></div>WBR, Yuri Pac<br>
<div><div></div><div class="h5">_______________________________________________<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>&lt; andrei[dot]protasovitski[at]gmail[dot]com &gt;<br>Minsk, Belarus<br>