匹配除“-0”之外的任何数字(或负数)

时间:2015-04-29 15:06:53

标签: regex

我有以下RegEx来匹配长度在1到4位数之间的任何数字,如果需要,可以使用-字符。

^[-]?\d{1,4}$

但是,我想从可能的匹配列表-0中排除。我尝试了以下内容,但它似乎打破了一切。

^[-]?(?!-0)\d{1,4}$

我如何实现目标?

2 个答案:

答案 0 :(得分:1)

只需将排除组放在:

之前
^(?!-0)-?\d{1,4}$

请注意,您不必在括号之间加上减号。

答案 1 :(得分:1)

只需连接正数和负数:

^([0-9]{1,4})|(-[1-9][0-9]{0,3})$