On Sat, 11 Jun 2011 09:52:38 +0300, Ivan Petrov wrote:
Уважаемое сообщество,
Доброго времени суток!
Посоветуйте,
как лучше (эффективнее) разобрать строку вида:
$_ = '{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' --- могут быть \w \d, а также
парные сочетания скобок ()[]{} и вложенные тоже
:)
но получаю только
{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