与字符串中正确的逗号位置匹配的RegEx

时间:2018-07-09 20:13:43

标签: regex parsing numbers

我想检查用户输入的内容,以检查字符串是否具有正确的逗号位置,以及该数字在人眼中是否也有效。

这些是允许的数字:

  • 1,000
  • 100
  • 1
  • 1,000,000,000,000,000

以下是不允许的数字:

  • 1e+5
  • 1e5
  • 1,00
  • -105
  • 100.50
  • 100,00,00,0,000000

我试图提出自己的RegEx,但这对我来说都非常复杂。这是我的RegEx(^[0-9]{0,3}(,[0-9]*)?$),但此刻很破损。

有人能帮忙吗?

1 个答案:

答案 0 :(得分:2)

您可以使用

^\d{1,3}(?:,\d{3})*$

请参见regex demo

详细信息

  • ^-字符串的开头
  • \d{1,3}-1、2或3位数字
  • (?:,\d{3})*-零次或更多次连续出现
    • ,-逗号
    • \d{3}-3位数字
  • $-字符串的结尾。