任何人都有一个文本框的正则表达式掩码,该掩码允许十进制精度1,最小值为1,最大值为100。
需要传递的值:
0,5
0,1
10,5
99,5
100
基本上每个值在0,1到100之间
答案 0 :(得分:0)
尝试一下此模式
\d{0,3},?\d*
模式细分:
\d{0,3} - 0 to 3 digits
,? - 0 to 1 comma
\d* - 0 or more digits
在Regex101测试
答案 1 :(得分:0)
要匹配介于0.1和100之间的每个值并允许十进制精度为1,您可以匹配:100与可选的,0
或1-99与可选的1精度为0-9的十进制或匹配0和1到10的十进制精度,因此使用alternation不匹配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)?)
将100与可选的逗号和0匹配)
关闭非捕获组$
声明行的结尾