我需要一个仅允许数字(0-9),单个逗号(,)和多个点(。)的正则表达式。
示例:10.000.100,00-有效 10,000,100.00-无效
我尝试过
但是它们都不起作用。他们两个都允许使用多个逗号。
需要此正则表达式的Java帮助。
答案 0 :(得分:0)
使用这个:^\d+(?:\.\d+)*(?:,\d+)?$
它确保最多可以有一个逗号,并且这样的逗号必须以至少一位数字开头,然后是至少一位数字,但是逗号是可选的。
它还可以确保在逗号(如果存在)之前出现任何句点,并且没有前导结尾或连续逗号。
有效输入:
10.000.100,00
10.000.100
100
无效输入:
10,000,100.00
10.000.100,0.0
10.000.100,
10.000.
.10.000
10..100
有关演示,请参见regex101.com。
答案 1 :(得分:0)
您可以使用以下表达式:-^\d+[\d.]*,?[\d.]*\d*$
它将允许以数字开头和结尾。多个(。)点和一个(,)逗号