如何用正则表达式写这个?

时间:2011-11-10 07:44:40

标签: regex

我正在寻找匹配字符串的正则表达式:1,2,4-6,9,11-13,20

限制:

  1. 仅允许使用数字,逗号和连字符
  2. 不允许空格

2 个答案:

答案 0 :(得分:1)

你的问题很模糊。我建议改进它,或者在正则表达式上阅读tutorial

根据您的限制,您的正则表达式为/^[-\d,]*$/,但我确信这不是您想要的。

您应该提供输入,输出,您将使用的正则表达式的示例以及最后但并非最不重要的尝试来解决问题。

答案 1 :(得分:1)

我猜你要匹配正整数或正整数范围的逗号分隔列表。 \d+匹配整数,允许范围,您使用\d+(-\d+)?

所以,正则表达式

\d+(-\d+)?(,\d+(-\d+)?)*

会做的。