[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