2017-04-11 96 views
0

早些時候,我用的是正則表達式爲/^-\d*(\.\d+)?$/這是檢查負十進制值,但現在我要加那麼,它將使在外地負以及零。正則表達式允許負值或零

我試圖使用或基於條件後,它將使零值,但沒有成功。

請分享想法如何,我可以改善這個正則表達式。

+0

http://regexr.com/是真的正常表達和正確測試的好地方。 – JohnV

回答

0

嘗試/^-\d*(\.\d+)?$|^0$/管道在錨具有更高的優先級,或者將其封裝非捕獲組內:

^(?:-\d*(?:\.\d+)?|0)$ 
^^^   ^^ 
0

這爲我工作

^(-\d*(\.\d+)?|0)$ 
+0

雖然這個代碼片斷可能是解決方案,[包括說明](// meta.stackexchange.com/questions/114762/explaining-entirely-代碼爲基礎的答案)確實有助於提高您的文章質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 – Adam