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

Ivan Petrov i.petro.77.00 на gmail.com
Пт Июн 10 23:52:38 PDT 2011


> Уважаемое сообщество,
> Доброго времени суток!

> Посоветуйте,
> как лучше (эффективнее) разобрать строку вида:

> $_ = '{any symbol}{any symbol}1{any symbol}2...';

> на фрагменты
> {any symbol}
> {any symbol}1
> {any symbol}2
> ...

> Сейчас через Regexp::Common делаю так:

> my @f = /$RE{balanced}{-parens=>'{}'}/g;

какой-то изврат

> но получаю только
> {any symbol}
> {any symbol}
> {any symbol}
> ...

> и не знаю можно ли как то указать, что
> закрывающаяся фигурная скобка может идти с \d*
> Пробовал
> /$RE{balanced}{-parens=>"{}\d*"}/g;
> но это не работает
> :(

> Спасибо.


$ perl test.pl
$VAR1 = [
          '{any symbol}',
          '{any symbol}1',
          '{any symbol}2'
        ];
$ cat test.pl

#!/usr/bin/perl

use warnings;
use strict;

use Data::Dumper;

my $str = '{any symbol}{any symbol}1{any symbol}2';
my @items = $str =~ /(\{[^}]*\}\d*)/g;

print Dumper \@items;

можно еще пробелы добавить, если надо


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