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

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

> $_ = '{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 mailing list
[email protected] | http://moscow.pm.org

Ответить