正则表达式用于带有两个小数的非负数或非负整数。无领先0

时间:2018-07-11 06:51:39

标签: regex validation

As-salāmuʿalaykum,

Allowed:

0
0.00
0.01
0.10
0.11
1
1.00
1.10
1.01
1.11
99999999
99999999.00
99999999.01
99999999.10
99999999.11

NOT ALLOWED:
.
.00
00
00.
00.00
00.01
00.10
00.11
01
010
01.
01.00
01.000

我可以继续,但是我想您会明白我想要的要点。正则表达式将用于验证货币,最多包含两个可选的小数。小数点左侧的上限没有限制,只要它不是前导0。

它将在Java应用程序中使用。

预先感谢

1 个答案:

答案 0 :(得分:1)

一个选择是,从字符串的开头开始,使用负数超前表示0,然后加上一个数字,然后仅测试数字(可选地,后面跟一个.,然后加上更多数字:

^(?!0\d)\d+(\.\d\d)?

https://regex101.com/r/5nUmlI/1/