我需要验证一些输入,这些输入应采用格式###。##
输入无效:
-11.10 ==> no negative
000.00 or 0 ==> 0 not allowed should be positive
有效输入是:
1
11
111
1.1
11.11
111.11
我尝试过以下正则表达式^([^-]\d{0,2}(.\d{1,2})?)$,它符合我的要求,除了它接受0我不想要的。我如何修改我的正则表达式,所以只有0不匹配?
感谢您的帮助
答案 0 :(得分:3)
尝试
^(?=.*[1-9])\d{1,3}(?:\.\d\d?)?$
它应该为你做。
首先是积极的预测,以确保存在除0
以外的数字。
然后它匹配1-3个数字,可选地后跟.
和1-2个数字。
答案 1 :(得分:0)
([0-9]){1,3}(\.[0-9]{1,2})?
是您要搜索的表达式。
([0-9]){1,3}
=任何数字序列,长度从1到3
(\.[0-9]{1,2})?
=“?”也许有一个浮尾
(\.[0-9]{1,2})
= float tail必须以点开头,十进制数必须最多为2
除了所有零序列之外,还有一种方法,但它会无缘无故地浪费你的时间,因为你可以用if myNum > 0
来检查它。
它也适用于负值,但这个正则表达式也将它们排除在外。