2015-11-26 41 views
3

我有一個正則表達式正則表達式來檢查量greator然後一個

^(?=.*[1-9])\\d{0,5}(?:\\.\\d{0,2})?$ 

檢查量應該大於0並且它可以包含十進制和可選的小數和小數點後2位數字之前最多五個數字。 此處(?=.*[1-9])用於檢查字符串中是否有最新的一個(1-9)的數字。

但我想修改它來檢查大於一(1)的數量,所以我想(?=.*[1-9])只檢查直到出現小數點,即0.1它應該返回false。 其他條件也應該滿足。

注:數字的計數之前小數不解決,它會非常從1到5,所以我們不能將它修改爲(?=.{0,5}[1-9])

+0

你爲什麼要使用正則表達式?使用'>'運算符? –

+0

親愛的@Uma,我需要在JSP中使用它,在輸入框中我使用dojo。 反正anubhava根據我的要求修改 –

回答

1

您可以使用此否定基於正則表達式解決這個問題:

^(?=[^.]*[1-9])\\d{0,5}(?:\\.\\d{0,2})?$ 

RegEx Demo

[^.]*[1-9]之前將匹配除了小數點因此不允許0.45作爲有效數字的任何字符。

+1

親愛的@anubhava,非常感謝,它解決了我的問題。 –