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

Ivan Petrov i.petro.77.00 на gmail.com
Сб Июн 11 03:06:22 PDT 2011


> Простите, не учел возможность присутствия цифр после скобок, вот так кажется
> работает:

> 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