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

Динар Жамалиев zhdinar на gmail.com
Сб Июн 11 01:33:11 PDT 2011


# code >>
    my @chanks;
    my $x = "{bla1 {bl}a2} }".
            "{bla3 {b{la4} }".
            "{{bla5 {bla6} }bla7}".
            "{{bla8 {bla9} }bla10}";

    $x =~ /^
        (\{.+?\}(?=\{))

        (
         (?: (?<=\}) \{.+?\}(?=\{) ) (?{ push @chanks, $2 if $2; }) | (?{
push @chanks, $2; })
        )+

        (\{.+?\}\z)
    /x;

    print join "\n", $1, @chanks, $3;
#<< code

результат:

{bla1 {bl}a2} }
{bla3 {b{la4} }
{{bla5 {bla6} }bla7}
{{bla8 {bla9} }bla10}

11 июня 2011 г. 12:15 пользователь Aleksander Gorohovski <
angel на feht.dgtu.donetsk.ua> написал:

> On Sat, 11 Jun 2011 11:01:41 +0300, Николай Мишин <mi на ya.ru> wrote:
>
>  Все таки, по хорошему, покажите весь текст исходный и что должно быть на
>> выходе, постановка задачи не ясна
>>
>
> Конкретно будет так:
>
> $_ = '{any{symbols}}{{any}symbols}1{{any}2{symbols}}33';
>
> out array:
>
>
> {any{symbols}}
> {{any}symbols}1
> {{any}2{symbols}}33
>
> где 'any symbols' --- \w \d () [] {}
> без пробелов.
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20110611/8c0a26bb/attachment.html>


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