0

複数レベルの中括弧を含むテキストについてヘルプを探しています

たとえば、次のテキストを使用します。

{{abc|{cde|fgh}} bb|cc}

入手したい

{abc bb|cde bb|fgh bb|cc}

そしてこれで

pp {vv {ff|ii|nn|aa} | {ee|hh|rr} } xx {{abc|{cde|fgh} bb|cc}

結果は

pp {vv ff|vv ii|vv nn|vv aa | ee|hh|rr} xx {abc bb|cde bb|fgh bb|cc}

アイデアは、いくつかのレベルのブレースを使用してテキストを配置し、1 つのレベルのブレースのみを配置することです。

どうやってやるの?これをC#でやりたい。

4

4 に答える 4

0

中かっこのすぐ外側に、中かっこの最も低い演算子よりも優先順位の高い演算子がある場合は、中かっこを保持し、そうでない場合は削除します

于 2013-11-06T19:02:58.393 に答える
0

テキストを一連のトークンに解析するには、非正規表現文法パーサーが必要です。C# でパーサーを作成する方法を参照してください。そのようなパーサーを作成する際のアドバイスについては。

それに比べて、トークンの再フォーマット (おそらくバイナリ表現ツリーを介して) はかなり簡単です。

于 2013-11-06T12:57:46.507 に答える