我一直在寻找一种在正则表达式中匹配平衡括号的方法,发现了Perl中使用递归正则表达式的方法:
my $re;
$re = qr{
\(
(?:
(?> [^()]+ ) # Non-parens without backtracking
|
(??{ $re }) # Group with matching parens
)*
\)
}x;
从Perl正则表达式网站获得。
是否有一种方法可以在Ruby或类似语言中执行此操作?
更新:
对于那些感兴趣的人,这里是一些有趣的链接:
Oniguruma手册 - 来自Sawa的回答。