式が正しいか、正規表現を使用していないかを確認する必要があります。これには、「if ステートメント」の形式のチェックも含まれます。例: case1:
if(x==1)
x = x+1;
正しいと言えます。ケース 2:
else x=x+1;
「部分の場合」が欠落しているため、falseとなります
正規表現を使用してコードを解析することはできません。
次のことを考えてみてください。単純な数式があります。
((x+y))+z...
任意に多くの括弧を使用して、正規表現とどのように一致させますか? 通常の言語にはない何らかの形の記憶が必要です。
できません。A*B*
より形式的には、言語(* はKleene star ) が規則的でないことを (ピジョンホールの原理で) 示すことができます。(それ以上、正規表現の一般的な方言はそれを解析できません)
正規表現はこれに適したツールではありません。パーサージェネレーターにもっと近いものが必要になるでしょう。