私は次の表現を持っています:
KNOWN_TOKEN=((value operator value) operator value)
operator OTHER_KNOWN_TOKEN=value
operator KNOWN_TOKEN2=(value operator (value operator value));
私は ac# 正規表現を見つけて、開いたときに閉じ括弧が等しく一致する式全体を返すようにしようとしています。これは、 for KNOWN_TOKEN
I need only ((value operator value) operator value)
、 for OTHER_KNOWN_TOKEN
I need only value
、 for I need を意味しKNOWN_TOKEN2
ます(value operator (value operator value))
。
さまざまなフレーバーを試し(\([^(]+\))
ましたが、それらは「括弧」の「最も低い」セットにのみ一致し、さらに追加の括弧に一致します(つまりKNOWN_TOKEN2
、追加の終了括弧に一致するため)。
また、ウェブ上でいくつかの繰り返しステップに分けて元のテキストを変更するヒントを見つけましたが、1 つの正規表現にしたいと思います。ヒントはありますか?
ありがとうございました!