我有一行包含方形括号数据的多个实例。
[data 1] junk [data 2] junk,junk [data 3] junk [data 4]
有人有goo正则表达式吗?所以我可以使用
print $1,$2,$3,$4;
谢谢!
答案 0 :(得分:7)
使用Text::Balanced代替正则表达式。
答案 1 :(得分:4)
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;
答案 2 :(得分:1)
如果您所需要的是快速打印输出,那么应该这样做..
$s = q( [data 1] junk [data 2] junk,junk [data 3] junk [data 4] );
print join(', ', @{[$s =~ /\[(.*?)\]/g]}), "\n";