使用正则表达式解析数学表达式

时间:2015-07-20 17:07:36

标签: java regex parsing

我想使用正则表达式解析数学表达式。 例如,表达式" -4-2-1"被解析为" -4"," - "," 2"," - "和" 1"。但是,从我的正则表达式来看,我只能得到" - "," 4"," - "," 2",&# 34; - "," 1"

这是我的正则表达式^-?\d*\.{0,1}\d+$|[+-×÷^√∛!πe%]

1 个答案:

答案 0 :(得分:1)

你不能为所有类型的方程式创建正则表达式,但对于你的情况,你可以通过

来提高你的正则表达式
  • 使^-部分可选,
  • 在您的角色类中转义-(否则它将被视为范围运算符)

BTW {0,1}可以替换为?

请尝试使用"(^-)?\\d*\\.?\\d+|[+\\-×÷^√∛!πe%]"