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 范围内任何正或负十进制数的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章