请教一个正则各位?

需求
1.正数数字保留两位小数,可以整数
2.要求不等于0,但可以是0.11 0.01 最大不超过999

自己思考了一下卡在0.1 0.01 这个地方了,求指教

阅读 1.7k
1 个回答

0.01~999.99不包括末尾为0的小数
^([1-9]\d{0,2}|0(?=\.))(\.\d?[1-9])?$
0.01~999.99包括末尾为0的小数
^([1-9]\d{0,2}|0(?=\.0?[1-9]))(\.\d{1,2})?$
0.01~999.00包含末尾为0的小数
^(([1-8][0-9]{0,2}|9([0-8][0-9]|9([0-8]|9(?=[0.]*$)))|9[0-9]?|0(?=\.0?[1-9])))(\.\d{1,2})?$
^(?!9{3}\.0?[1-9])([1-9]\d{0,2}|0(?=\.0?[1-9]))(\.\d{1,2})?$

推荐问题