我試圖找到驗證了許多正則表達式是大於或小於0正則表達式小於或大於0
它必須允許一個數字是1.20,-2,0.0000001,等等。 ..它根本不能爲0,它必須是數字,也意味着它不能是0.00,0.0
^(?=.*[1-9])(?:[1-9]\d*\.?|0?\.)\d*$
試過,但它不會允許負
我試圖找到驗證了許多正則表達式是大於或小於0正則表達式小於或大於0
它必須允許一個數字是1.20,-2,0.0000001,等等。 ..它根本不能爲0,它必須是數字,也意味着它不能是0.00,0.0
^(?=.*[1-9])(?:[1-9]\d*\.?|0?\.)\d*$
試過,但它不會允許負
嘗試否定的正則表達式這樣
!^[0\.]+$
如果你覺得需要使用正則表達式只是因爲它的存儲可以使用Double.parseDouble()
字符串變相成數字類型的字符串。這將有一個額外的好處,檢查字符串是否是一個有效的數字(通過捕獲NumberFormatException
)。
以一個典型的正則表達式的一個數字,說
^[+-]?[0-9]*(\.[0-9]*)?$
,然後要求前或小數點後有是一個非零數字。根據您的例子,你是不是小數點前預期前導零,所以一個簡單的正則表達式可能是
^([+-]?[1-9][0-9]*(\.[0-9]*)?)|([+-]?[0-9]*\.0*[1-9]*0*)
然後決定你仍然想使用正則表達式這一點。
喜歡這個演示,之前使用了一個更糟糕的網站 - 謝謝! –
@MichaSchwab歡迎您注意,它基於PHP PCRE,可能與其他正則表達式引擎不同。 – HamZa
很高興知道,謝謝,但完美,我主要是編寫PHP atm反正:-) –
正則表達式是該錯誤的工具。 – SLaks
不要使用數學正則表達式!你在什麼環境下使用這種編程語言? – Bergi
這是關閉:'0 | (\ b0 \ .0+ \ b)'但不完美 – Intermernet