regex,允许使用一个十进制数或一系列十进制数



我需要一个JavaScript正则表达式,它匹配单个十进制数一系列十进制数:

8,4-10 true 8,4-10,5 true 8,4-10,5-3 false 8,4- false 25 true 25,5 true 24.1 false 1a false abc false

我已经想出了这个模式,但它没有给出正确的结果:

(([0-9])+(,([0-9])+)?)?(-(([0-9])+(,([0-9])+)?))?

您的正则表达式是正确的,您只需要锚定它以确保匹配整个字符串,而不仅仅是其中的一部分。

简化了可能的内容,它变成了:

^d+(?:,d+)?(?:-d+(?:,d+)?)?$

d[0-9]的缩写,(?:...)是非捕获组,^$是匹配字符串开头和结尾的锚点(确保除了您想要的之外没有其他内容(。

请参阅此处的演示。