求正则表达式,匹配大于0,小于等于100,并且最多可保留2为小数。我用来匹配退款金额,谢谢 10

 我来答
貌似風輕
2018-07-11 · TA获得超过7280个赞
知道大有可为答主
回答量:1672
采纳率:94%
帮助的人:674万
展开全部
^\d{1,2}(\.\d{1,2})$
这个匹配的是:1位或2位数 后面跟 小数点和1位或2位小数(小数点和小数可以没有)
可以匹配的值的示例:0,0.00,3,3.44,03.00,45.03,99.99
以上是比较简单的写法,但是0和0.00的情况就需要在判断一次去排除。以及03.00的情况看是否不合符规范。
比较严谨的可以这样
^0\.\d[1-9]$|^0\.[1-9]\d$|^[1-9](\.\d{1,2})?$|^[1-9]\d(\.\d{1,2})?$
这个匹配了很多种情况,每个 | 分割的一种情况,分别是(以下x表示任意数字,y表示非0的数字)
0.xy 、0.yx 、y.xx(.xx可以没有) 、yx.xx(.xx可以没有)
这四种情况包括了0到100最多2位小数的所有情况
这个正则就是严格匹配0.01到99.99中所有的整数和小数(最多两位小数)。其中01、00.12、09.34等也会被视为非法的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式