【发布时间】:2013-05-18 05:21:03
【问题描述】:
我正在尝试验证数字 1-8 的逗号分隔列表。
即2,4,6,8,1 是有效输入。
我尝试了[0-8,]*,但它似乎接受1234 为有效。它不需要逗号,它允许我输入大于 8 的数字。我不知道为什么。
【问题讨论】:
-
逗号需要在字符类之外,并使用括号分组到数字字符。即:
([0-8],)+ -
你说你想要数字 1-8,但你的正则表达式试图匹配 0-8。是哪个?
-
1-8 不超过 8
-
只是为了回答你的问题,这里有点明确;如果它接受 1234 为有效,它也将接受 abcd,因为有 0 个匹配项,这是您使用 * 所要求的
标签: regex