我想为平衡大括号结构写一个正则表达式,比如
{...}
, where表示任何没有“{”或“}”字符的{... {..}...}
文本{...{..{..}...}..{..}...}
...
如果我这样做:
txt.replace(/\{[\s\S]+?}/g, function(s){return "_"+s+"_";})
第一个}
将被视为结束比赛,因此
{ { } }
将成为_{ { }_ }
我想要一个正则表达式将其转换为_{ { } }_
PS:这function(s)
部分不是来自真实代码,例如
PPS:如果可能的话,我想用正则表达式来做这件事。
PPPS:文本中包含的最高级别的“{”大括号是有限的,通常为 3 或 4
更新: 感谢您的评论,让我们将嵌套大括号的数量限制为 3。所以:
{ { { .. } .. { .. } } .. { .. } }