2015-07-20 106 views
0

我想使用正则表达式解析数学表达式。例如,表达“-4-2-1”被解析为“-4”,“ - ”,“2”,“ - ”和“1”。但是,从我的正则表达式,我只能得到 “ - ”, “4”, “ - ”, “2”, “ - ”, “1”使用正则表达式解析数学表达式

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

+1

也许发布您的正则表达式? – JFPicard

+0

我刚刚加了它 –

+4

祝你好运。除非你将自己限制在非常简单的方程中,否则你不能编写一个能处理所有方程的正则表达式。 –

回答

1

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

  • 使^-部分可选,
  • 在字符类逃逸-提高你的正则表达式(否则会被当作范围运营商)

可以用?替代BTW {0,1}

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