我有以下正則表達式以匹配長度爲1和4之間的任何數字,如果需要則使用-
字符。匹配除'-0'以外的任何數字(或否定數字)
^[-]?\d{1,4}$
但是,我想排除可能的匹配列表-0
。我試過以下,但它似乎打破了一切。
^[-]?(?!-0)\d{1,4}$
我該如何實現我的目標?
我有以下正則表達式以匹配長度爲1和4之間的任何數字,如果需要則使用-
字符。匹配除'-0'以外的任何數字(或否定數字)
^[-]?\d{1,4}$
但是,我想排除可能的匹配列表-0
。我試過以下,但它似乎打破了一切。
^[-]?(?!-0)\d{1,4}$
我該如何實現我的目標?
只要把不包括組之前:
^(?!-0)-?\d{1,4}$
請注意,你不必把括號內的減號。
我不敢相信我沒有想到!謝謝,這就是我所需要的,儘管我稍微修改了'(?! - 0 $)',這樣字符串如'-012'就會匹配(我將在後面去掉前面的0)。 –
@DavidGard我想知道這個,因此在你的問題下的評論。 –
更改爲:
^(?!-?0)[-]?\d{1,4}$
這將不會匹配任何號碼以 「0」 或開始 「-0」。
如果你想匹配的數字「0」,而不是「-0」開頭,使用:
^(?!-0)[-]?\d{1,4}$
只需通過連接正數和負數:
^([0-9]{1,4})|(-[1-9][0-9]{0,3})$
您是否也想匹配「-03」? –