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

Aleksander Gorohovski angel на feht.dgtu.donetsk.ua
Сб Июн 11 03:21:43 PDT 2011


On Sat, 11 Jun 2011 13:06:22 +0300, Ivan Petrov wrote:

>> Простите, не учел возможность присутствия цифр после скобок, вот так  
>> кажется
>> работает:
>
>> my @chanks;
>> my $str = "{bla1 {bl}a2} }123".
>> "{bla3 {b{la4} }123".
>> "{{bla5 {bla6} }bla7}".
>> "{{bla8 {bla9} }bla10}123";
>
>> $str =~ /^
>> ((?: \{.+?\}\d* )(?=\{))
>
>> (
>> (?: \{.+?\}\d*(?=\{) ) (?{ push @chanks, $2 if $2; })
>> )+
>
>> (\{.+?\}\d*\z)
>> /x;
>
>> print join "\n", $1, @chanks, $2 , $3;
>
> тоже какой-то изврат.
>
> код в регекспах хорошо писать когда все другие способы исчерпаны.
> а этот (топиковый) случай вообще в perlre фактичски описан

Вот еще бы на ссылку с описанием посмотреть
:)


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