正则表达式,仅允许数字 (0-9)、单个逗号 (,) 和多个点 (.).示例:10.000.100,00--有效 10,



我需要一个正则表达式,只允许数字(0-9(,单逗号(,(和多个点(.(。

示例:10.000.100,00--有效 10,000,100.00--无效

我试过了

  1. ^[\d.,]+$
  2. \d+,?.*

但是它们都不起作用。 它们都允许多个逗号。

需要有关 Java 中此正则表达式的帮助。

您可以使用此表达式:-^d+[d.]*,?[d.]*d*$
它将允许以数字开头和结尾。 多个 (.( 点和一个 (,( 逗号

友情链接 :- https://regex101.com/r/hSjM2X/7

使用这个:^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。

最新更新