我试图找出可以匹配括号之间或没有它们的任何双数的正则表达式。这些将是两个应该匹配的数字示例:
(0.5)
或者,
0.5
这是一个简单的方法:
/\(?[\d.]+\)?/
它将接受不平衡的括号,例如 (1.0 如果这是一个问题,请尝试:
/\([\d.]+\)|[\d.]+/
这将接受多个小数点,例如 1.2.3 如果这是一个问题,请尝试:
/\(\d+(\.\d+)?\)|\d+(\.\d+)?/
更好地利用parseFloat
内置函数:
var a = '(0.5)';
var b = a.replace(/[()]/g, ''); // 0.5
var isInValidDouble = isNan( parseFloat(b) ); // false