2014-05-05 254 views
1

我需要在Java中有以下要求的正則表達式:Java正則表達式的數字,字母,大寫,小寫

  • 只能包含字母和數字
  • 必須至少包含一個數字
  • 絕至少包含一個大寫字母和一個小寫字母

我嘗試了好幾種表情,不工作 - 這是迄今最好的:

(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).* 
+1

http://stackoverflow.com/questions/3802192/regexp-java-for-password-validation – assylias

+0

你的問題是什麼?你的正則表達式很好 –

+0

問題出在這個要求:只能包含字母和數字。目前的正則表達式接受其他字符 - 它不能 – me72921

回答

2

錨您正則表達式,而不要使用.允許任何東西:

^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]*$ 

^$比賽開始和結束字符串,[a-zA-Z0-9]*確保字符是隻有那些在字符類。

相關問題