我想使用正则表达式解析数学表达式。 例如,表达式“-4-2-1”被解析为“-4”、“-”、“2”、“-”和“1”。但是,从我的正则表达式中,我只能得到“-”,“4”,“-”,“2”,“-”,“1”
这是我的正则表达式 ^-?\d*\.{0,1}\d+$|[+-×÷^√∛!πe%]
最佳答案
您无法为所有类型的方程创建正则表达式,但对于您的情况,您可以通过
改进您的正则表达式- 使
^-
部分可选, - 在字符类中转义
-
(否则将被视为范围运算符)
顺便说一句,{0,1}
可以替换为 ?
。
所以尝试使用 "(^-)?\\d*\\.?\\d+|[+\\-×÷^√∛!πe%]"
关于java - 使用正则表达式解析数学表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31522300/