2013-12-17 22 views
0

我使用下面的REG前驗證給定值的長度是否大於零Java的註冊前檢查給定值長度

Regex : .*\S.*; 

value : test 

這個方法我用它來測試:

public boolean isValidInput(String pattern, String value) { 
     boolean isValid = false; 
     Pattern walletInputPattern = Pattern.compile(pattern); 
     Matcher walletMatcher = walletInputPattern.matcher(value); 
     if (walletMatcher.matches()) { 
      isValid = true; 
     } 
     return isValid; 
    } 

但它返回false

desired output 
  1. 檢查給定值是否不爲空,並且至少有一個值。

感謝

+1

我可能失去了一些東西,但你爲什麼要使用正則表達式來看看一個字符串是否是空的? – Harry

+0

爲什麼你會首先使用正則表達式?無論如何,在Java中你需要避開反斜槓,所以你的正則表達式變成'。* \\ S. *'。你可以使用'[\\ S \\ s]' – HamZa

回答

1

爲什麼不這樣簡單的方法?

public boolean isValidInput(String pattern, String value) { 
    return value != null && value.trim().length() > 0; 
} 
+0

可以簡化爲'返回值!= null && value.trim().length()> 0'。 – sp00m

+0

@ sp00m感謝您更新了您的建議。 – Prabhakaran

0

我已經使用正則表達式,因爲我不僅檢查不爲空或長度大於零與字符串我有很多其它它使用我所提供的相同的方法。

上面問題的答案是:^(?=\\s*\\S).*$