最大精度为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+)$
检查任何十进制数字。
我不知道如何合并两个正则表达式。
答案 0 :(得分:3)
您可以使用
^-?(?:\d(?:\.\d{1,2})?|10(?:\.0{1,2})?)$
详细信息
^
-字符串的开头-?
-可选的-
符号(?:
-一个非捕获组的开始:
\d
-任何数字(?:\.\d{1,2})?
-点和1或2位数字的可选序列|
-或10
-10
字符串(?:\.0{1,2})?
-.
然后是1或2个零的可选序列)
-非捕获组的结尾$
-字符串的结尾。