允许负值或零的正则表达式

Regular expression for allowing negative values or zero

之前我使用正则表达式 /^-\d*(\.\d+)?$/ 来检查负十进制值,但现在我想添加,以便它在字段中允许负数和零。

我尝试使用允许零值的 OR 条件,但没有成功。

请分享我如何改进这个正则表达式的想法。

尝试 /^-\d*(\.\d+)?$|^0$/ 管道比锚点具有更高的优先级或将其封装在非捕获组中:

^(?:-\d*(?:\.\d+)?|0)$
 ^^^              ^ ^

这对我有用

^(-\d*(\.\d+)?|0)$