Regex 用于数字模式组合的正则表达式

Regex 用于数字模式组合的正则表达式,regex,Regex,我正在尝试编写一个正则表达式来验证以下任何情况: 仅包含1个数字,例如:22 包含逗号分隔的值,例如:1,22,28 包含使用连字符ex:5-9指定的范围 包含上述所有内容的组合 我开始使用正则表达式,但它不起作用。因为我是一个RegexNoob,我试着用最冗长的方式写出来 ^[1-9]+|^[[[1-9]|[1-9\-1-9]],[[1-9]|[1-9\-1-9]]]+$ 有人能帮我弄一下符合所有条件的正则表达式吗 这应该可以做到: ^[0-9]+(-[0-9]+)?(,[0-9]+(-[0

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

  • 仅包含1个数字,例如:22
  • 包含逗号分隔的值,例如:1,22,28
  • 包含使用连字符ex:5-9指定的范围
  • 包含上述所有内容的组合 我开始使用正则表达式,但它不起作用。因为我是一个RegexNoob,我试着用最冗长的方式写出来

    ^[1-9]+|^[[[1-9]|[1-9\-1-9]],[[1-9]|[1-9\-1-9]]]+$
    
    有人能帮我弄一下符合所有条件的正则表达式吗

    这应该可以做到:

    ^[0-9]+(-[0-9]+)?(,[0-9]+(-[0-9]+)?)*$
    
    这应该做到:

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

    就是这样!虽然我在问题中没有提到,但我需要验证大于0的数字。所以我在正则表达式中将0-9改为1-9。谢谢就是这样!虽然我在问题中没有提到,但我需要验证大于0的数字。所以我在正则表达式中将0-9改为1-9。谢谢