2012-03-07 19 views
1

我開發在Java程序,它會發現給定功能的整合。例如cos(x + 3x^2)。現在我想檢查用戶是否給出了正確的輸入..我們可以在檢查輸入的有效性時使用任何正則表達式嗎?例如,輸入必須開始整合跡象,結束與dx.I想要的正則表達式將覆蓋喜歡COS的情況下(COS(X + 5))等正則表達式驗證的集成式(微積分)

回答

4

不能用於檢查任何需要計數的正則表達式:它不夠強大。理論上不可能使用正則表達式來驗證字符串中括號是否平衡的簡單問題。

你需要建立一個解析器你的表情。一個簡單的自頂向下解析器可以做,或者你可以使用解析器生成器,比如ANTLR或JavaCC。您也可以爲您的項目使用其中一個可用的open source expression languages