<br><br><div class="gmail_quote">2009/5/29 Andrew Shitov <span dir="ltr"><<a href="mailto:andy@shitov.ru">andy@shitov.ru</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;">
<div class="im">> Прошу простить моё невежество, а что такое рекурсивные регэкспы?<br>
<br>
</div>Это рулез, который может парсить, например, вложенные скобки.<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;</blockquote><div><br>Да, я уже нашёл. Но что-то мне подсказывает, что этот рулез нервно курит в сторонке, когда речь идёт об XML со всеми его комментариями, областями CDATA, инструкциями обработки (processing instructions), неймспейсами и прочими полезными вещами. Опять же, много мегабайтный XML, который валится через сокет даже такими регэкспами вряд ли удасться эффективно распарсить.<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<font color="#888888"><br>
--<br>
</font><div><div></div><div class="h5">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>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Andrei Protasovitski<br>< andrei[dot]protasovitski[at]gmail[dot]com ><br>Minsk, Belarus<br>