我尝试为利率生成正则表达式,即^[0-9]d*(.d+)?
。但是这个正则表达式接受小数后的无穷多个数字。我希望我的正则表达式能够接受1到100之间只有两位小数的数字。1.00
至100.00
如果您想匹配整数或小数点后两位:
^(?:[1-9][0-9]?(?:.[0-9]{2})?|100(?:.00)?)$
Regex演示
如果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
匹配100.00
)
关闭组$
字符串末尾
Regex演示