c#文本框小数精度1最小值1最大值100的Regex掩码



是否有人拥有文本框的正则表达式掩码,该掩码允许小数精度为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
  • )关闭非捕获组
  • $断言线路末端

演示

最新更新