だから、私は圧倒的な正規表現の世界にまったく慣れていません。基本的に、Gedit API を使用して、構文の強調表示 (Byond の DM 用) 用の新しいカスタム言語仕様 (C# から派生) を作成しています。DM のエスケープ文字では、[変数]をエスケープ構文として使用する必要がありますが、これは十分に単純です。ただし、たとえば[array/list[index]]のようにネストすることもできます。(無限に入れ子にすることができます。) 他の質問を調べましたが、入れ子になった括弧について尋ねると、入れ子になっていることのみを意味しますが、この場合はどちらかまたは両方である可能性があります。
私が試したいくつかの試み:
\[.*\]
結果 "Test [Test[Test] Test]Test[Test] Test"を生成します\[.*?\]
結果 "Test [Test[Test] Test]Test [Test] Test"を生成します\[(?:.*)\]
結果 "Test [Test[Test] Test]Test[Test] Test"を生成します\[(?:(?!\[|\]).)*\]
結果 "テスト [テスト[テスト]テスト]テスト[テスト]テスト"を生成します。これはhttps://stackoverflow.com/a/9580978/2303154から派生したものですが、上記のように、括弧が内部にない場合にのみ一致します。
より複雑なマッチングでここで何をしているのかは明らかにわかりませんが、少なくとも他のソースからの基本的な操作については理解しています。