Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式查找正确的十进制数1.0或1.99到10.0_Regex - Fatal编程技术网

Regex 正则表达式查找正确的十进制数1.0或1.99到10.0

Regex 正则表达式查找正确的十进制数1.0或1.99到10.0,regex,Regex,我试图找到一个介于1.0或1.10之间但不会高于10.0的数字 以下是我到目前为止的资料, ^0$|^[1-9]{1}\.[0-9]{2}$|^10\.0$ 这一个是为1.55工作的我试图在表达式中添加一个,以查找eg1.5,但不幸的是它找不到1.55,但它继续查找1.5下面是我对or语句的尝试 ^0$|^[1-9]{1}\.[0-9]{1}$|[1-9]{1}\.[0-9]{2}$^10\.0$ 是我正在尝试使用的站点。您忘记了[0-9]{2}$和^10之间的交替,如果您像开始的正则表达式

我试图找到一个介于1.0或1.10之间但不会高于10.0的数字

以下是我到目前为止的资料,

^0$|^[1-9]{1}\.[0-9]{2}$|^10\.0$
这一个是为
1.55

工作的
我试图在表达式中添加一个,以查找eg
1.5
,但不幸的是它找不到
1.55
,但它继续查找
1.5

下面是我对or语句的尝试

^0$|^[1-9]{1}\.[0-9]{1}$|[1-9]{1}\.[0-9]{2}$^10\.0$


是我正在尝试使用的站点。

您忘记了
[0-9]{2}$
^10
之间的交替,如果您像开始的正则表达式那样添加
,它应该可以工作

^0$|^[1-9]{1}\.[0-9]{1}$|[1-9]{1}\.[0-9]{2}$|^10\.0$
此外,
{1}
这里不是必需的,因为它只重复了一次。 此正则表达式较短:

^0$|^[1-9]\.[0-9]$|[1-9]\.[0-9]{2}$|^10\.0$

您可以使用以下只接受最多2位小数的数字的正则表达式:

^0$|^[1-9](?:\.[0-9]{1,2})?$|^10(?:\.00?)?$
它还将接受
10.00
0
10
的所有不带小数的整数

演示:

如果要将最大2位小数介于
0
1
之间的数字添加到初始范围(
1-10
->
0-10

演示:

现在,如果您希望接受范围内超过2位小数(
0-10

演示:

可能
^(?:1\.(?:0\d |[1-9]\d)|(?:[2-9]| 10)\.00)$

 ^     
 (?:
      #  1.00  -  1.99
      1
      \.
      (?:
           0 \d 
        |  [1-9] \d 
      )
   |  
      #  2.00  -  10.00
      (?:
           [2-9] 
        |  10
      )
      \.00
 )
 $

那么
1.55
是否是该范围内的有效数字?如果是这样的话,我建议不要在这里使用正则表达式,只需直接比较应用程序语言中的值。您的范围不清楚
1.0
1.99
10.0
。。。在
1.0
1.10
之间,但不会高于
10.0
您的模式似乎不完全正确。谢谢@TimBiegeleisen,我放错位置了,我编辑了我的答案
^[0-9](?:\.[0-9]+)?$|^10(?:\.0+)?$
 ^     
 (?:
      #  1.00  -  1.99
      1
      \.
      (?:
           0 \d 
        |  [1-9] \d 
      )
   |  
      #  2.00  -  10.00
      (?:
           [2-9] 
        |  10
      )
      \.00
 )
 $