问:求一个正则表达式。要求:小数无关紧要,最多两位小数,必需大于零,急,在线等
答:^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$
回收否认式向前查察后
(?!……) 是否认式向前看
(?:……) 后向引用内容
0+(?:\.0+)?就是说当以0开头时后头要接上“.”而且要有一个以上的0接在“.”后 如00.0 0.0 000
(?!0+(?:\.0+)?$) 就是都不匹配上式开头 如00开头的都不能匹配
[1-9]\d*|0 匹配一个非0数字开头的数字或匹配一个0。 如: “1000154” “0”
(?:\.\d{1,2})? 匹配以“.”开头而且后头要有一到两个数字。 如: “.01” “.00” “.90”
附件下载/演示源码:
【 2.htm 】 10.36KB