Pattern pattern = Pattern.compile("^\\d+$|^\\d+\\.\\d+$|-\\d+$");Matcher isNum = pattern.matcher(str);if (!isNum.matches()) {return false;}return true;
2 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
^\\d+$ 是判斷位正整數的
^\\d+\\.\\d+$ 判斷是否位正小數
-\\d+$:判斷是否位負整數
你代碼里這三個用 “ | ”(或)運算符連接,表示只要是整數或者是正的小數就是true了。
另外可以加一句
^-\\d+\\.\\d+$ 判斷是否位負的小數
按照你的要求:
Pattern pattern = Pattern.compile("^\\d+$|-\\d+$"); // 就是判斷是否為整數
Pattern pattern = Pattern.compile("\\d+\\.\\d+$|-\\d+\\.\\d+$");//判斷是否為小數

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
你那個寫得太麻煩了
String reg = "\\d+(\\.\\d+)?";
String str = "12.33333";
System.out.println(str.matches(reg));
- 2 回答
- 0 關注
- 192 瀏覽
添加回答
舉報
0/150
提交
取消