智能数学正则表达式

时间:2014-03-17 04:12:41

标签: javascript regex performance math knockout.js

我知道那里有聪明的人。目前,我想使用一个单一且最优雅的正则表达式来分隔数字,以实现一些非常简单的数学计算。

它需要支持一些模糊数字猜测,例如:

1 + .2应等于1 + 0.2

.1-.2应相当于0.1 - 0.2

- .2 + -100.2应相当于-0.2 - 100.2

Here is a quick demo I made up for you to play around http://jsfiddle.net/av57A/60/

是否有可能在一个优雅的正则表达式中实现这些逻辑?

感谢。

1 个答案:

答案 0 :(得分:2)

我明白了。我的正则表达式很好。还要感谢给我看jsfiddle。从未见过像b4这样的东西。


reg1 : ^[\-\d{1,}|\-*\.*\d*+]{1,}
reg2 (g) : \.{2}
reg3 (g) : ^(([\-]{0,})(\d*\.*\d*)?)|([\+\-\*\/]{1,})|((\d*)+(\.*\d*)?)

---
2-1  :  2 | - | 1
.1+.2  :  0.1 | + | 0.2
.2+1  :  0.2 | + | 1
-1-1.3  :  -1 | - | 1.3
2+1  :  2 | + | 1
-2+1  :  -2 | + | 1
2+-1  :  2 | + | -1
1+1.1  :  1 | + | 1.1
2.1+1  :  2.1 | + | 1
-1.0-1.3  :  -1 | - | 1.3
-1-.3  :  -1 | - | 0.3