我需要一个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])+)?))?
发布于 2014-04-30 13:03:43
你的正则表达式是正确的,你只需要锚定它,以确保你匹配整个字符串,而不仅仅是它的一部分。
简化了可以实现的内容,它变成:
^\d+(?:,\d+)?(?:-\d+(?:,\d+)?)?$
\d
是[0-9]
的缩写,(?:...)
是一个非捕获组,^$
是匹配字符串开头和结尾的锚点(确保除了您想要的以外没有其他任何东西)。
见这里的演示。
https://stackoverflow.com/questions/23388776
复制相似问题