次のようなバランスの取れた中括弧構造の正規表現を書きたい
{...}
、{... {..}...}
および{...{..{..}...}..{..}...}
where...
は、「{」または「}」文字を含まない任意のテキストを意味します
私がこれを行う場合:
txt.replace(/\{[\s\S]+?}/g, 関数{return "_"+s+"_";})
最初}
はエンドマッチと見なされるため
{ { } }
、_{ { }_ }
これを正規表現に変換したい_{ { } }_
PS: このfunction(s)
部分は実際のコードからのものではありません。たとえば、
PPS: 可能であれば正規表現でこれを行いたいと考えています。
PPPS: テキストに含まれる '{' 括弧の最高レベルは制限されており、通常は 3 または 4 です。
更新: コメントありがとうございます。ネストされた中括弧の数を 3 に制限しましょう。
{ { { .. } .. { .. } } .. { .. } }