我讀了很多正則表達式的問題,但我沒有找到這個尚未..爪哇 - 正則表達式對於普通的正負值
我想在Java中的正則表達式來檢查是否一個字符串(不限制長度)是一個數字:
包括負(-4/-123)
包括
0
包括陽性(一百二十三分之二)
不含
+
(+ 4/+ 123)不含前導零
0
(05/000).
除外(0.5/0.4/1.0)不含
-0
這是我迄今爲止所做的:
^(?-)[1-9]+[0-9]*
我讀了很多正則表達式的問題,但我沒有找到這個尚未..爪哇 - 正則表達式對於普通的正負值
我想在Java中的正則表達式來檢查是否一個字符串(不限制長度)是一個數字:
包括負(-4/-123)
包括0
包括陽性(一百二十三分之二)
不含+
(+ 4/+ 123)
不含前導零0
(05/000)
.
除外(0.5/0.4/1.0)
不含-0
這是我迄今爲止所做的:
^(?-)[1-9]+[0-9]*
的是一個可選的 -
-?
數必須不與啓動一個0
[1-9]
它可以跟隨的數字的arbitraty數
\d*
0是「不開始」的例外與0規則「,因此你可以加0作爲選擇。
最後的正則表達式
-?[1-9]\d*|0
Java代碼
String input = ...
boolean number = input.matches("-?[1-9]\\d*|0");
對於這種答案,它值得建立計算器。詳細,準確,並演示。你真棒!! –
很好回答! – ryonts
請告訴我們,到目前爲止你有什麼,我們會一起幫助你。 – NPE
代碼請求不是有效的問題 – Kiogara
謝謝! - ^(? - )[1-9] + [0-9] * –