regexを使用して、開始と終了の区切り文字(エスケープ文字を考慮して)に合った最小の文字列を探したいと思います。たとえば、次の文字列がある場合は、[ two ]
と[ four \[ five \] ]
という最も低い一致を見つけたい場合は、一致を無視して、それらは[ one ... three ... six]
に含まれています。regexを使って入れ子になったマッチを解析する
zero [ one [ two ] three [ four \[ five \] ] six ] seven
は、これまでのところ私は、負のルック尻をチェックするために使用すると、非常に第二試合の最後の]
をキャッシュされていない、次の正規表現を持っています。
(\[)(?:(?!(?:[^\\])\1|\]).)*]
私の目標は、単純なネストされたコマンドブロックを処理するために使用できる単純なパーサーを用意することです。
ありがとうございました!あなたは私が考えていない問題を予見するのを助けました。また、創造的なロジックの追加(2偶数+ 1奇数の前に1奇数を使用)はきれいです。 – Xeoncross