Как извлечь данные из квадратных скобок, которые появляются несколько раз в строке, используя perl? - PullRequest
2 голосов
/ 14 января 2011

У меня есть строка, содержащая несколько экземпляров данных в квадратных скобках.

[data 1] junk [data 2] junk,junk [data 3] junk [data 4]

У кого-нибудь есть регулярное выражение goo?Так что я могу использовать

print $1,$2,$3,$4;

Спасибо!

Ответы [ 3 ]

7 голосов
/ 14 января 2011

Используйте Текст :: Сбалансированный вместо регулярного выражения.

4 голосов
/ 14 января 2011
my $s = "[data 1] junk [data 2] junk,junk [data 3] junk [data 4]";
my ($one, $two, $three, $four) = $s =~ /\[([^\]]*)\]/g;
print $one, $two, $three, $four;
1 голос
/ 14 января 2011

Если все, что вам нужно, это быстрая распечатка, это следует сделать ..

$s = q( [data 1] junk [data 2] junk,junk [data 3] junk [data 4] );
print join(', ', @{[$s =~ /\[(.*?)\]/g]}), "\n";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...