Regex 正则表达式只能包含数字和-&引用;性格

Regex 正则表达式只能包含数字和-&引用;性格,regex,Regex,我想用“-”字符匹配数字 例如: 123-456 - Valid 1-2-3-4 - Valid 223-213- - Invalid -3423-3 - Invalid ASD34-2 - Invalid 我测试过这个: ^([0-9]-?)*$ 但工作不正常。这应该与数字中的多个-匹配,与其他答案不同: ^\d+(?:-\d+)*$ 这应该与数字中的多个-匹配,与其他答案不同: ^\d+(?:-\d+)*$ 这应该与数字中的多个-匹配,与其他答案不同: ^\d+(?:-\d+)*$

我想用“-”字符匹配数字

例如:

123-456 - Valid 
1-2-3-4 - Valid
223-213- - Invalid
-3423-3 - Invalid
ASD34-2 - Invalid
我测试过这个:

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


但工作不正常。

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

^\d+(?:-\d+)*$

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

^\d+(?:-\d+)*$

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

^\d+(?:-\d+)*$

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

^\d+(?:-\d+)*$

非常接近,不是吗?只有最后有破折号的箱子才能通过。您可以使用\d代替[0-9]

^\d(\d|-\d)*$
这句话的开头至少有一个数字,后面有更多的数字,或者后面有一个破折号,后面至少有一个数字
这不会匹配下面的多个破折号,如12--34

非常接近,不是吗?只有最后有破折号的箱子才能通过。您可以使用\d代替[0-9]

^\d(\d|-\d)*$
这句话的开头至少有一个数字,后面有更多的数字,或者后面有一个破折号,后面至少有一个数字
这不会匹配下面的多个破折号,如12--34

非常接近,不是吗?只有最后有破折号的箱子才能通过。您可以使用\d代替[0-9]

^\d(\d|-\d)*$
这句话的开头至少有一个数字,后面有更多的数字,或者后面有一个破折号,后面至少有一个数字
这不会匹配下面的多个破折号,如12--34

非常接近,不是吗?只有最后有破折号的箱子才能通过。您可以使用\d代替[0-9]

^\d(\d|-\d)*$
这句话的开头至少有一个数字,后面有更多的数字,或者后面有一个破折号,后面至少有一个数字
这将不匹配下面的多个破折号,如12--34

123--46
是否有效?还是
34-
?E.t.c.-更具体一点,不。没有重复的“-”字符。不,不能以“-”字符结尾。
123--46
是否有效?还是
34-
?E.t.c.-更具体一点,不。没有重复的“-”字符。不,不能以“-”字符结尾。
123--46
是否有效?还是
34-
?E.t.c.-更具体一点,不。没有重复的“-”字符。不,不能以“-”字符结尾。
123--46
是否有效?还是
34-
?E.t.c.-更具体一点,不。没有重复的“-”字符。不,不能以“-”字符结尾。已编辑-现在应该修复。(这在作品中不清楚)是的!完成。谢谢:)已编辑-现在应该修复。(这在作品中不清楚)是的!完成。谢谢:)已编辑-现在应该修复。(这在作品中不清楚)是的!完成。谢谢:)已编辑-现在应该修复。(这在作品中不清楚)是的!完成。谢谢:)