我需要验证100美元以下的货币值,允许用户可选地省略小数位。不需要(或允许)美元符号和逗号。另一个验证组件约束上限值和下限值,因此正则表达式只需要验证1或2位数,带有可选的十进制数和2位数。
这些值匹配:
10
5
5.00
10.00
这些值不匹配:
.25
10.1
10.255
此验证的最佳正则表达式模式是什么?
答案 0 :(得分:1)
像
这样的东西^\d{1,2}(\.\d{2})?$
^
将正则表达式锚定在字符串的开头
d{1,2}
匹配1或2位\d
=> [0-9]
(\.\d{2})
匹配.
后跟2位
?
量词,量化小数部分零或一次
$
将正则表达式锚定在字符串的末尾
答案 1 :(得分:1)
[0-9]{1,2}(\.[0-9]{2})
应该这样做。