Java中正则表达式的问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 00:30:49
创建一个用户名和密码,使用正则表达式来检验,其中密码必须由字母和数字组成,必须含有至少一个字母和数字.在Java中应该怎么写这段正则表达式?

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PwdTest {
public static void main(String[] args) {
String[] test = { "a", "aaaaa", "中", "1", "11111", "a1", "1a",
"aaaaaaaaaaaaa1", "11111111111111a", "1a7sd9f7s9d", "11111a1",
"11111aaa" };
String regex = "([0-9a-zA-Z]{0,}[0-9]+[0-9a-zA-Z]{0,}[a-zA-Z]+[0-9a-zA-Z]{0,})|([0-9a-zA-Z]{0,}[a-zA-Z]+[0-9a-zA-Z]{0}[0-9]+[0-9a-zA-Z]{0,})";
Pattern p = Pattern.compile(regex);
for (String t : test) {
Matcher m = p.matcher(t);
System.out.println(t + "\t\t" + m.matches());
}
}
}

测试结果:
aaaaa false
中 false
1 false
11111 false
a1 true
1a true
aaaaaaaaaaaaa1 true
11111111111111a true
1a7sd9f7s9d true
11111a1