[Minsk-pm] Идея для доклада.

Andrei andrei.protasovitski на gmail.com
Пт Май 29 02:03:15 PDT 2009


2009/5/29 Andrew Shitov <andy на shitov.ru>

> > Прошу простить моё невежество, а что такое рекурсивные регэкспы?
>
> Это рулез, который может парсить, например, вложенные скобки.
>
> my $expr = '1 + (2 + (3 + (4 + 5) + 6))';
>
> $expr =~ s/
>   \(
>      (
>         [^()]+
>      )
>   |
>      (?1)            ## Вот здесь рекурсивно вызывается выражение,
> которое матчится первыми скобками
>   \)
> /say $1;/xge;


Да, я уже нашёл. Но что-то мне подсказывает, что этот рулез нервно курит в
сторонке, когда речь идёт об XML со всеми его комментариями, областями
CDATA, инструкциями обработки (processing instructions), неймспейсами и
прочими полезными вещами. Опять же, много мегабайтный XML, который валится
через сокет даже такими регэкспами вряд ли удасться эффективно распарсить.


>
>
> --
> Andrew Shitov
> ______________________________________________________________________
> andy на shitov.ru | http://shitov.ru
> _______________________________________________
> Minsk-pm mailing list
> Minsk-pm на pm.org
> http://mail.pm.org/mailman/listinfo/minsk-pm
>



-- 
Andrei Protasovitski
< andrei[dot]protasovitski[at]gmail[dot]com >
Minsk, Belarus
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/minsk-pm/attachments/20090529/f8782b98/attachment.html>


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