2014-05-05 255 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]*确保字符是只有那些在字符类。

相关问题