Regex 十进制利率的正则表达式

Regex 十进制利率的正则表达式,regex,mule,Regex,Mule,我尝试为利率生成正则表达式,即^[0-9]\d*(\.\d+)。但是这个正则表达式接受小数点后的无限数。 我希望我的正则表达式接受1到100之间只有两位小数的数字。 1.00至100.00如果要匹配整数或精确匹配小数点后两位: ^(?:[1-9][0-9]?(?:\.[0-9]{2})?|100(?:\.00)?)$ 如果2个小数是必需的,您可以省略可选的非捕获组: ^(?:[1-9][0-9]?\.[0-9]{2}|100\.00)$ ^字符串的开头 (?:非捕获组 [1-9][0-

我尝试为利率生成正则表达式,即
^[0-9]\d*(\.\d+)
。但是这个正则表达式接受小数点后的无限数。 我希望我的正则表达式接受1到100之间只有两位小数的数字。
1.00
100.00

如果要匹配整数或精确匹配小数点后两位:

^(?:[1-9][0-9]?(?:\.[0-9]{2})?|100(?:\.00)?)$

如果2个小数是必需的,您可以省略可选的非捕获组:

^(?:[1-9][0-9]?\.[0-9]{2}|100\.00)$
  • ^
    字符串的开头
  • (?:
    非捕获组
    • [1-9][0-9]?
      匹配数字1-9,也可以选择数字0-9以匹配范围1-99
    • \[0-9]{2}
      匹配一个点和两个数字
    • |
    • 100\.00
      Match 100.00
  • 关闭组
  • $
    字符串结尾

第一种方法对我很有效。谢谢你的详细解释。如果我想匹配1.00到1000000000.00??^[0-9]\d*(?:\[0-9]{2})?100(?:\.00)\$这样行吗?@HMT你的意思是这样吗<是的,我创建了这个。小数点前9位,可选小数点后2位