\d:匹配数字
\w:匹配字母、下划线、数字、汉字
^:开始匹配
$:结束匹配
{n}:匹配n次
{n,}:最少匹配n次,匹配无上限
{n,m}:最少匹配n次,最多匹配m次
?:可以不匹配,最多匹配一次
+:最少匹配一次,匹配无上限
*:可以不匹配,匹配无上限
匹配10位数的QQ号码:
String qq="QQ号";
String pattern ="^\d{10}$";
boolean check=Pattern.matches(pattern,qq);
匹配Email地址:
String email="邮箱字符串";
String pattern ="[\w.%+-]+@[\w.-]+\.[a-zA-Z]{2,}";
boolean check=Pattern.matches(pattern,email);
匹配用户密码(长度在6-18之间,只能包含英文和数字)
String userName="匹配字符串";
String pattern ="[0-9A-Za-z]{6,18}";
boolean check=Pattern.matches(pattern,userName);
匹配手机号(匹配中国手机号):
- 长度为11
- 以1开头
- 第二位是3,4,5,7,8,9之一
String phone="手机号";
String pattern ="1[345789]{1}\d{9}";
boolean check=Pattern.matches(pattern,phone);
匹配身份证号:
- 18位
- 18位身份证号码,前17位为数字,最后一位可以是数字或者字母X(用于表示罗马数字10)
String idCard="身份证";
String pattern ="^\d{17}[\dX]$";
boolean check=Pattern.matches(pattern,idCard);