-2
我需要驗證一個公式來計算學科的等級:驗證算術公式
所有標識符(A1,A2,A3,...)已根據測試,家庭作業等,由教師創建的。下面一個共同的公式的一個例子:
((A1+A2+A3)/3) * (B2+B3)
在這種情況下,我只需要驗證公式的結構,如:
- 非封閉括號(已完成);
- 空括號組'()'(done);
- 重複的操作符如'(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++)
正則表達式不是這種任務的正確工具。 – 2013-04-25 13:41:44
搜索'infix notation validation'並嘗試實現它。 – SAbbasizadeh 2013-04-25 13:46:50
看看@ http://irony.codeplex.com/ – 2013-04-25 14:08:37