我有一個文本框輸入數學公式推inlcude +
,-
,*
,/
,(,)
,TRUNC
,ROUND
,POWER
,MOD
,SQRT
,FLOOR
,DECODE
。用戶輸入公式字符串後,我想驗證這個字符串,但我不知道如何? 請幫我一把。如何使用正則表達式驗證數學表達式字符串?
0
A
回答
2
不幸的是,你不能使用正則表達式驗證這樣的表達式。正則表達式的本質是如此,以至於您永遠無法驗證匹配的括號。正則表達式很簡單。
欲瞭解更多信息,爲什麼它是如此:http://en.wikipedia.org/wiki/Regular_expression
爲了驗證/分析或評估你需要一個上下文無關文法分析數學表達式。使用解析器生成器可以相對簡單地生成一個。我會建議
- 的JavaCC:https://javacc.java.net/
- ANTLR的:http://www.antlr.org/
0
看看this question on Code Review。它顯示瞭解析這些表達式的一些代碼,並且答案給出瞭如何替代使用Java附帶的腳本引擎的示例。
相關問題
- 1. 使用正則表達式驗證數學表達式?
- 2. 如何使用正則表達式驗證數學公式表達式
- 3. Rails驗證使用正則表達式驗證字符串?
- 4. 正則表達式來驗證練成像數學表達式
- 5. 如何使用MVVM驗證字符串/正則表達式?
- 6. 如何使用java正則表達式驗證字符串?
- 7. ASP.Net正則表達式(%符號)正則表達式驗證器
- 8. 字符串使用正則表達式替換正則表達式字符類
- 9. 使用正則表達式驗證字符串
- 10. 使用正則表達式驗證字符串
- 11. 使用正則表達式在變量中驗證字符串
- 12. 驗證輸入字符串 「RX-EZ12345678912345B」 使用正則表達式
- 13. 使用正則表達式驗證十六進制字符串
- 14. 使用正則表達式驗證字符串
- 15. 使用正則表達式驗證Java字符串
- 16. 驗證字符串使用正則表達式
- 17. 正則表達式模型驗證(數字或空字符串)
- 18. 如何驗證字符串是否是正則表達式?
- 19. 正則表達式的正則表達式的Java字符串
- 20. 正則表達式正則表達式匹配字符串
- 21. 正則表達式(正則表達式)的子字符串
- 22. Javascript正則表達式 - 正則表達式拆分字符串
- 23. 正則表達式驗證
- 24. 正則表達式驗證
- 25. 正則表達式驗證
- 26. 正則表達式驗證
- 27. 正則表達式驗證
- 28. 正則表達式驗證
- 29. (教學)的JavaScript - 使用正則表達式(正則表達式)
- 30. 數學正則表達式表達
請提供樣品的輸入和輸出.. – TheLostMind
同樣的事情與XML:你不能解析具有單一正則表達式的遞歸結構。 – Holger