如何使用 perl 提取一行中多次出现的方括号之间的数据?
我有一行包含方括号数据的多个实例。
[data 1] junk [data 2] junk,junk [data 3] junk [data 4]
有人有一个好的正则表达式吗?所以我可以使用
print $1,$2,$3,$4;
谢谢!
I have a line that containes multiple instances of square bracketed data.
[data 1] junk [data 2] junk,junk [data 3] junk [data 4]
Does any one have a goo regex? So I can use
print $1,$2,$3,$4;
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 Text::Balanced 而不是正则表达式。
Use Text::Balanced instead of a regex.
如果您想要的只是快速打印输出,这应该可以实现..
$s = q( [data 1] junk [data 2] junk,junk [data 3] junk [data 4] );
print join(', ', @{[$s =~ /\[(.*?)\]/g]}), "\n";
If all your looking for is a quick printout, this should do it ..
$s = q( [data 1] junk [data 2] junk,junk [data 3] junk [data 4] );
print join(', ', @{[$s =~ /\[(.*?)\]/g]}), "\n";