0

我想将数字与“-”字符匹配。

例如:

123-456 - Valid 
1-2-3-4 - Valid
223-213- - Invalid
-3423-3 - Invalid
ASD34-2 - Invalid

我已经对此进行了测试:

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

但不能正常工作。

4

2 回答 2

2

-与其他答案不同,这应该匹配数字中的多个:

^\d+(?:-\d+)*$
于 2013-10-31T10:14:18.230 回答
1

不是很接近吗?只有最后有破折号的情况才会通过。你可以使用 \d 而不是 [0-9]。

^\d(\d|-\d)*$

这个在开始时至少表示一位数字,可选地后跟更多数字或后面至少有一位数字的破折号这不会匹配多个后续破折号,例如 12---34

于 2013-10-31T10:21:37.817 回答