Regex 带逗号和不带双逗号的数字的无限正则表达式

Regex 带逗号和不带双逗号的数字的无限正则表达式,regex,character,comma,Regex,Character,Comma,我的页面上有一个数字输入,用户可以在其中插入长行数字 以下是一些例子: 123.456,78 - OK 223.456, - OK .323,45 - OK .423, - OK 123..456, - FAIL 123.456,, - FAIL ..123 - FAIL 21654545.14654654465.165456544,6547545765 - OK 784574452145..4522457546573,324732773 - FAIL 354.45.45.64.5.465.46

我的页面上有一个数字输入,用户可以在其中插入长行数字

以下是一些例子:

123.456,78 - OK
223.456, - OK
.323,45 - OK
.423, - OK
123..456, - FAIL
123.456,, - FAIL
..123 - FAIL
21654545.14654654465.165456544,6547545765 - OK
784574452145..4522457546573,324732773 - FAIL
354.45.45.64.5.465.465.4.654.32.4.24.24.857545.24544.53777554.45 - OK
这个数字有无限长的行,我只需要知道不超过1个“.”(点)或“,”(逗号)

这就是我迄今为止所尝试的:

^([.|,|\S][0-9]{1,}[.|,|\S]).*$
但它只看第一组数字,我想让它看看所有的数字,然后把它们整理出来

我使用此页面测试代码:

它不是针对PHP的,而是针对.NET系统的。但我需要的是正则表达式,而不是PHP/.NET脚本。

我会尝试:

^[.|,|\S]?([0-9]{1,}[.|,|\S]|[0-9])*$


这样,您可以得到可选的“我是从.or开始的吗?”。另外,我不知道你为什么在最后有
*
。在第一盘之后,这将与任何东西相匹配。这样我们重复括号中的内容。在捕获圆括号的中间,只需确保在字符串末尾,我们可以以数字或定界符结尾。< /P> < P>此正则表达式应该工作:

^[.,]?\d+([.,]\d+)*[.,]?$
在线演示: 应该有用

^[.,]?(\d[.,]?)+$