RegEx使用或不使用千位分隔符来匹配数值

Ola*_*gen 7 regex

我需要一个RegEx来匹配以下内容:

1.234.567
-1.234.789
1234567
-1234567
Run Code Online (Sandbox Code Playgroud)

它不应该匹配:

.123     (leading separator)
123..456 (two separators)
Run Code Online (Sandbox Code Playgroud)

换句话说,我需要一个RegEx来匹配long使用或不使用千位分隔符格式化的数值.

谢谢!

ste*_*ema 9

这是一个更受限制的答案

^-?(?!0)(?:\d+|\d{1,3}(?:\.\d{3})+)$
Run Code Online (Sandbox Code Playgroud)

在Regexr在线查看

(?!0) 防止从0开始

\d+ 允许没有分隔符的数字

\d{1,3}(?:.\d{3})+是分隔符的一部分.从1到3个数字开始,然后是分隔符和3个数字.可以重复分隔符后跟3个数字的点.

  • 0.2如何? (2认同)