regex - 在 Perl 正则表达式中匹配平衡括号

标签 regex perl perl5.8

我有一个表达式,我需要拆分并存储在一个数组中:

aaa="bbb{ccc}ddd" { aa="bb,cc" { a="b", c="d" } }, aaa="bbb{}" { aa="b}b" }, aaa="bbb,ccc"

一旦拆分并存储在数组中,它应该看起来像这样:
aaa="bbb{ccc}ddd" { aa="bb,cc" { a="b", c="d" } }
aaa="bbb{}" { aa="b}b" }
aaa="bbb,ccc"

我使用 Perl 5.8 版,有人可以解决这个问题吗?

最佳答案

使用 perl 模块“Regexp::Common”。它有一个很好的平衡括号正则表达式,效果很好。

# ASN.1
use Regexp::Common;
$bp = $RE{balanced}{-parens=>'{}'};
@genes = $l =~ /($bp)/g;

关于regex - 在 Perl 正则表达式中匹配平衡括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7974093/

相关文章:

perl - 在 Perl 中使用 join 时附加前缀

windows - 在 Windows 命令行中设置 PERL5LIB 的多个路径

perl - 如何在Perl此处的文档中内插函数的结果?

perl - 如何猜测特定脚本的最低 perl 版本?

perl - Perl 5.8 与 5.10 和 5.12 的子例程中的代码延迟评估有什么区别?

java - 使用正则表达式验证输入字符串是否为 0-255 之间的数字

java - 为什么此正则表达式不适用于 Java 7?

javascript - 正则表达式 : Parse a sentence

swift - 正则表达式与多个组 swift