我有以下RegEx来匹配长度在1到4位数之间的任何数字,如果需要,可以使用-
字符。
^[-]?\d{1,4}$
但是,我想从可能的匹配列表-0
中排除。我尝试了以下内容,但它似乎打破了一切。
^[-]?(?!-0)\d{1,4}$
我如何实现目标?
答案 0 :(得分:1)
只需将排除组放在:
之前^(?!-0)-?\d{1,4}$
请注意,您不必在括号之间加上减号。
答案 1 :(得分:1)
只需连接正数和负数:
^([0-9]{1,4})|(-[1-9][0-9]{0,3})$