2017-10-05 41 views
-1

我想獲得一個REGEX,它只允許從1-9開始的數字,只有4個字符,並且應該只能在小數點後有一個零。正則表達式 - 僅允許數字的模式

這是我到目前爲止寫的,但它每次都失敗。

^[1-9]\\d{4,4}(\\.\\d{1,1})?%?$ 

我在閱讀excel工作表時將它用作java中的驗證。

+0

爲例如:2016.0 - 轉至 –

+0

我試圖此以及「^([1-9] \\ d {4 }。\\ d {1})* $「 –

+0

這裏有一個有用的鏈接 - https://stackoverflow.com/tags/regex/info – Sagar

回答

0

了給定的要求,你可以使用這個表達式:

final String regex = "^[1-9]\\d{3}(?:\\.0)?$"; 

正則表達式破碎

  • ^:啓動
  • [1-9]:在啓動
  • \\d{3}匹配一個數字1-9:匹配任何3位數
  • (?:\\.0)?:在端
  • $匹配可選.0:結束
+0

只是要知道,你爲什麼選擇做'[1-9] \\ d {3}'而不是'\\ d {4}'?有區別嗎? – Asew

+1

因爲'\\ d {4}'在開始時也會允許'0',但是[1-9] \\ d {3}'不會。 – anubhava

+0

啊對,沒看到0不是起始號碼 – Asew