早些時候,我用的是正則表達式爲/^-\d*(\.\d+)?$/
這是檢查負十進制值,但現在我要加那麼,它將使在外地負以及零。正則表達式允許負值或零
我試圖使用或基於條件後,它將使零值,但沒有成功。
請分享想法如何,我可以改善這個正則表達式。
早些時候,我用的是正則表達式爲/^-\d*(\.\d+)?$/
這是檢查負十進制值,但現在我要加那麼,它將使在外地負以及零。正則表達式允許負值或零
我試圖使用或基於條件後,它將使零值,但沒有成功。
請分享想法如何,我可以改善這個正則表達式。
嘗試/^-\d*(\.\d+)?$|^0$/
管道在錨具有更高的優先級,或者將其封裝非捕獲組內:
^(?:-\d*(?:\.\d+)?|0)$
^^^ ^^
這爲我工作
^(-\d*(\.\d+)?|0)$
雖然這個代碼片斷可能是解決方案,[包括說明](// meta.stackexchange.com/questions/114762/explaining-entirely-代碼爲基礎的答案)確實有助於提高您的文章質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 – Adam
http://regexr.com/是真的正常表達和正確測試的好地方。 – JohnV