带两位小数的浮点数正则表达式在0-1范围内

问题描述 投票:0回答:1

我正在尝试制作HTML模式/正则表达式,以仅允许0到1之间的浮点数,最多两位小数。

因此,以下将是正确的:

0
0.1
0.9
0.11
0.99
1

这些将是不正确的:

00
0.111
0.999
1.1
2
10

我不了解正则表达式,也不了解其语法,也没有找到一个在线工具来生成正则表达式。

我从在线示例中收集了一些东西:

^(0[0-1]|\d)(\.\d{1,2})?$

我添加了0[0-1]以设置0-1范围,但是它不起作用。此正则表达式匹配0到9之间的每个数字,该数字也可以具有最多2个小数。

regex
1个回答
0
投票

[尝试使用alternation,其中0部分后面可以有一个可选的点和2个数字,而1部分后面可以有一个可选的点和1或2乘以零。

^(?:0(?:\.\d{1,2})?|1(?:\.0{1,2})?)$
  • [^字符串的开头
  • (?:非捕获组
    • [0(?:\.\d{1,2})?匹配0,还可以选择一个点和1-2位数字]
    • |
    • [1(?:\.0{1,2})?匹配1,还可以选择一个点和1-2个零]
  • [)关闭组
  • [$字符串结尾

Regex demo

© www.soinside.com 2019 - 2024. All rights reserved.