[Moscow.pm] parsing {string}{string} Regexp-Common etc.

Ruslan Zakirov ruz на bestpractical.com
Сб Июн 11 09:38:12 PDT 2011


perl -e 'my $re; $re = qr/{[^{}]*(??{$re})*[^{}]*}/; my @r =
("{a{a}}1{b{{b}}b}{{c}c}3" =~ /($re)/g); print join "\n", @r, "";'

Только в Regexp::Common хитрее регулярка.

2011/6/11 Динар Жамалиев <zhdinar на gmail.com>:
> я поковырялся в Regexp::Common, там как раз такой подход исользуется
>
> 11 июня 2011 г. 18:50 пользователь Ivan Petrov <i.petro.77.00 на gmail.com>
> написал:
>>
>> > Я сам в раздумьях подобрать эквивалент (?1),
>> > пока не соображу...
>>
>> я кажись вспомнил. рекурсии в регекспах старого перла можно было
>> делать только явно, то есть
>>
>> my $regexp;
>> $regexp = qr{что-то там (??{ $regexp } ) что-то дальше };
>>
>> и вот уже с этим можно было работать так
>>
>> $str =~ /$regexp/;
>>
>> но на том уровне развития это тоже было извращением (как мне кажется)
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>



-- 
Best regards, Ruslan.


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