应该验证这样的事情正则表达式来验证用逗号分隔的数字或破折号
12,14,15,18-20,23,50-130
我想这一点:
^(?:\\d[,] | \\d[-])$ // or ^(?:\\d[,] | \\d[-] *)$ ??
编辑 应该为
12, 15
11,13, 14,18, 51-52
工作
它不适用于
w,12
12,15d
14,,18
14--20
12,12-
-12,13
,12
12,
13-,
-,13
应该验证这样的事情正则表达式来验证用逗号分隔的数字或破折号
12,14,15,18-20,23,50-130
我想这一点:
^(?:\\d[,] | \\d[-])$ // or ^(?:\\d[,] | \\d[-] *)$ ??
编辑 应该为
12, 15
11,13, 14,18, 51-52
工作
它不适用于
w,12
12,15d
14,,18
14--20
12,12-
-12,13
,12
12,
13-,
-,13
首先,使用逐字串避免双反斜杠。然后这可能会为你做:
@"^\s*\d+(?:-\d+)?\s*(?:,\s*\d+(?:-\d+)?\s*)*$"
这将是一个数字,可选后跟连字符号码。然后再任意数量的,
,空白和开始模式。
我想'5465,5-45-56'应该匹配 – Anirudha
@ Fake.It.Til.U.Make.It怎么回事?对我来说,这看起来像数字范围的枚举(如打印对话框中的“页面”字段)。 –
你也可以试试这个
@"^\s*\d+(\s*[,-]\s*\d+)*\s*$"
然后你应该注意到,这允许多个连字符之间没有逗号;) –
@ m.buettner可能..但是op从来没有说过关于..:O – Anirudha
这就是为什么我不说你的解决方案是错误的。但是值得一提的是OP,你不觉得吗? –
那么,有什么问题? – Oded
什么不应该有效?哪里有更多有效和无效投入的例子? – Oded
这应该验证给定的字符串:'12,14,15,18-20,23,50-130' ;-)如果有任何这样的问题,您不得不举例说明您尝试实现的规则。对于任何给定的例子(或者甚至是一组例子),可以提出一个匹配例子的规则,但是不正确,因为没有列出的东西没有正确匹配。正则表达式用来表达规则,不知道这些规则,你不能创建一个好的正则表达式。 – Chris