-2

我试图找出可以匹配括号之间或没有它们的任何双数的正则表达式。这些将是两个应该匹配的数字示例:

(0.5)

或者,

0.5
4

3 回答 3

1

\(?\d+\.\d+\)?

不行?

正则表达式可视化

调试演示

于 2013-10-29T14:54:10.670 回答
0

这是一个简单的方法:

/\(?[\d.]+\)?/

它将接受不平衡的括号,例如 (1.0 如果这是一个问题,请尝试:

/\([\d.]+\)|[\d.]+/

这将接受多个小数点,例如 1.2.3 如果这是一个问题,请尝试:

/\(\d+(\.\d+)?\)|\d+(\.\d+)?/
于 2013-10-29T14:52:47.247 回答
0

更好地利用parseFloat内置函数:

var a = '(0.5)';
var b = a.replace(/[()]/g, ''); // 0.5

var isInValidDouble = isNan( parseFloat(b) ); // false
于 2013-10-29T15:00:12.070 回答