不带逗号的数字匹配正则表达式

3

我被卡在了获取没有逗号的数字方面。以下是我正在使用的代码:

^(\d{1,3})$|(,\d{3})$

这是匹配结果:

3
62
115
112,266,455
989,564,654
137,150
,137,150

我不希望有,137,150这样的内容。


3
通过将此标记为语言/系统(如标签提示中所建议的)可能会得到非答案/更合适的答案。 - Jon Clements
1个回答

2
假设你列出的那些匹配都是同一个匹配,你应该将这些组合起来,并允许,###重复任意次数:
^\d{1,3}(,\d{3})*$

然后,有一天,用户将使用印度风格的小数点。http://en.wikipedia.org/wiki/Decimal_mark 例如:1,00,000,00,00,000 :-) - Denis de Bernardy
@Denis:有人真的这样做吗?三个地方,两个地方,两个地方,三个地方,两个地方...?我好害怕 :'( - Ry-
1
是的,有些人确实这样做。超过十亿人,哈哈。 :-D - Denis de Bernardy
@user2329342:如果这是答案,您可以勾选检查标记来接受它吗?谢谢! - Ry-

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接