正则表达式,逗号必须遵循1或2位数字

时间:2013-04-22 21:23:50

标签: regex

我正在尝试编写一个正则表达式,确保是否有逗号,然后以下文本应为1或2位数字。

这是我到目前为止所拥有的。

(^\d{0,2})+(,\d{0,2})*$

大多数情况下的工作,但它正在考虑以下有效。

12,22,,,,,,,,,, and 12,22,,,,,,,,,,12,12

我做错了什么?谢谢!

3 个答案:

答案 0 :(得分:6)

\d{0,2}表示“介于0到2位之间”。它应该是\d{1,2}

答案 1 :(得分:4)

您在逗号后面加0到2位而不是1或2 以下应该做的伎俩

(^\d{1,2})+(,\d{1,2})*$

答案 2 :(得分:3)

使用否定前瞻声明逗号后面没有3位数,并保持主正则表达式只是“所有逗号或数字”

^(?!.*,\d{3})[,\d]+$