-2

規律の等級を計算する式を検証する必要があります。

すべての識別子 (A1、A2、A3、...) は、教師が作成したテスト、宿題などに基づいています。一般的な式の例を以下に示します。

( (A1+A2+A3) / 3) * (B2+B3)

この場合、次のように式の構造を検証する必要があります。

  • 非閉じ括弧 (完了);
  • 空の括弧グループ '()' (完了);
  • 「(A1++A2)」のような重複した演算子。
  • 「(A1 -* A2)」のような重複した異なる演算子。

A1、A1などの数式のすべての識別子は、最終ユーザーによって通知されており、検証されていません。

有効な式のサンプル:

(((A1+A2+A3)/3)*2) + (((B1+B2+B3)/3)*3)

無効な式のサンプル:

+ (((A1+A2+A3)/3)*2) + (((B1+B2+B3)/3) / 3++)
4

1 に答える 1

2

正規表現は正規文法であり、この種のものを解析 (または検証) するには文脈自由文法が必要です。それ以外の場合は、ヒューリスティックのみを適用します...

于 2013-04-25T13:59:32.600 に答える