2014-02-27 135 views
0

我有一個文本框輸入數學公式推inlcude +-*/(,)TRUNCROUNDPOWERMODSQRTFLOORDECODE。用戶輸入公式字符串後,我想驗證這個字符串,但我不知道如何? 請幫我一把。如何使用正則表達式驗證數學表達式字符串?

+0

請提供樣品的輸入和輸出.. – TheLostMind

+3

同樣的事情與XML:你不能解析具有單一正則表達式的遞歸結構。 – Holger

回答

2

不幸的是,你不能使用正則表達式驗證這樣的表達式。正則表達式的本質是如此,以至於您永遠無法驗證匹配的括號。正則表達式很簡單。

欲瞭解更多信息,爲什麼它是如此:http://en.wikipedia.org/wiki/Regular_expression

爲了驗證/分析或評估你需要一個上下文無關文法分析數學表達式。使用解析器生成器可以相對簡單地生成一個。我會建議

上下文無關文法:http://en.wikipedia.org/wiki/Context-free_language

0

看看this question on Code Review。它顯示瞭解析這些表達式的一些代碼,並且答案給出瞭如何替代使用Java附帶的腳本引擎的示例。