正则表达式组合数字模式

时间:2012-02-12 08:02:55

标签: regex

我正在尝试编写一个验证以下任何一种情况的正则表达式:

  1. 仅包含1个数字:22
  2. 包含逗号分隔值ex:1,22,28
  3. 包含使用连字符ex:5-9
  4. 指定的范围
  5. 包含以上所有内容的组合。
  6. 我开始使用正则表达式,但它不起作用。由于我是一个正则表达式的菜鸟,我试图以最冗长的方式写出来。

    ^[1-9]+|^[[[1-9]|[1-9\-1-9]],[[1-9]|[1-9\-1-9]]]+$
    

    有人可以帮我处理符合所有条件的正则表达式。

1 个答案:

答案 0 :(得分:4)

这应该这样做:

^[0-9]+(-[0-9]+)?(,[0-9]+(-[0-9]+)?)*$