文本框十进制精度的c#正则表达式掩码1最小值1最大值100

时间:2018-07-20 06:59:56

标签: regex

任何人都有一个文本框的正则表达式掩码,该掩码允许十进制精度1,最小值为1,最大值为100。

需要传递的值:

0,5

0,1

10,5

99,5

100

基本上每个值在0,1到100之间

2 个答案:

答案 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匹配
  • )关闭非捕获组
  • $声明行的结尾

Demo