0 到 10 范围内任何正或负十进制数的正则表达式

Posted

技术标签:

【中文标题】0 到 10 范围内任何正或负十进制数的正则表达式【英文标题】:Regular Expression for any positive or negative decimal number in a range of 0 to 10 【发布时间】:2020-10-05 19:37:34 【问题描述】:

最大精度为2的十进制数的正则表达式是什么,十进制数应该在0-10的范围内,无论是正数还是负数?

有效例子:

10.0
-9.5
-10
5
1.5
-0.5
0.5
8.25

无效示例:

12.1232
2.23332
e666.76
11
-11

我试过^(?:10(?:\.0)?|[1-9](?:\.[0-9])?|0?\.[1-9])$,它基本上检查一个范围内的正十进制数。

另外,尝试^\-?(\d+\.?\d*|\d*\.?\d+)$ 检查任何十进制数。

我不知道如何合并两个正则表达式。

【问题讨论】:

我试过 '^(?:10(?:\.0)?|[1-9](?:\.[0-9])?|0?\.[1 -9])$' 和 '^\-?(\d+\.?\d*|\d*\.?\d+)$' 正则表达式,想合并在一起。 【参考方案1】:

你可以使用

^-?(?:\d(?:\.\d1,2)?|10(?:\.01,2)?)$

查看regex demo 和regex graph:

详情

^ - 字符串开头 -? - 一个可选的 - 符号 (?: - 非捕获组的开始: \d - 任何数字 (?:\.\d1,2)? - 点和 1 或 2 位数字的可选序列 | - 或 10 - 10 字符串 (?:\.01,2)? - . 的可选序列,然后是 1 或 2 个零 ) - 非捕获组结束 $ - 字符串结束。

【讨论】:

以上是关于0 到 10 范围内任何正或负十进制数的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

十进制数的正则表达式

99 到 9999999 之间的数字正则表达式

js正则表达式

JavaScript 正则

Python之正则表达式模块

非零和非十进制数的 JQuery 正则表达式验证