是否有人拥有文本框的正则表达式掩码,该掩码允许小数精度为1,最小值为1,最大值为100。
需要通过的值:
0.5
0,1
10,5
99.5
100
基本上每个介于0,1和100 之间的值
试试
d{0,3},?d*
模式分解:
d{0,3} - 0 to 3 digits
,? - 0 to 1 comma
d* - 0 or more digits
Regex101 测试
要匹配0,1和100之间的每个值并允许小数精度为1,您可以将:100与可选的,0
匹配,或将1-99与可选的1小数精度为0-9匹配,或者将0与1-9中的1小数精确度匹配,这样就不会使用交替来匹配0,0。
^(?:[1-9][0-9]?(?:,[0-9])?|0,[1-9]|(?:100(?:,0)?))$
解释
^
断言行的开始(?:
非捕获组[1-9][0-9]?(?:,[0-9]
匹配1-99,后跟可选逗号和数字0-9|
或0,[1-9]
匹配一个零和一个逗号,后跟一个数字1-9,因此0,0不匹配|
或(?:100(?:,0)?)
用可选逗号和0匹配100
)
关闭非捕获组$
断言线路末端
演示