微信公众号

可视化正则表达式整理

整理一些常见的正则表达式(附可视化链接)
image

数字相关

1
2
3
4
5
6
7
public static final String P_N_1 = "^[0-9]*$";// 数字
public static final String P_N_2 = "^\\d{3}$";// 3为数字
public static final String P_N_3 = "^\\d{3,}$";// 至少3位数字
public static final String P_N_4 = "^\\d{3,5}$";// M之N位数字
public static final String P_N_6 = "^-?[1-9]\\d*$";// 整数
public static final String P_N_7 = "^[1-9]\\d*$";// 正整数
public static final String P_N_8 = "^-[1-9]\\d*$";// 负整数

字符串相关

1
2
3
4
5
6
7
8
9
10
public static final String P_S_0 = "[\\u4e00-\\u9fa5]";// 中文
public static final String P_S_1 = "^.{3,20}$";// 长度为M至N的所有字符
public static final String P_S_2 = "^[A-Za-z]+$";// 纯英文字母
public static final String P_S_3 = "^[A-Z]+$";// 纯大写英文字母
public static final String P_S_4 = "^[a-z]+$";// 纯小写英文字母
public static final String P_S_5 = "^[A-Za-z0-9]+$";// 数字和英文字母
public static final String P_S_6 = "^[\\u4E00-\\u9FA5A-Za-z0-9_]+$";// 中文、英文、数字或下划线
public static final String P_S_7 = "^\\\\w+$";// 中文、英文、数字或下划线
public static final String P_S_8 = "^[\\u4E00-\\u9FA5A-Za-z0-9]{2,20}$";// 中文、英文、数字[不包括下划线]
public static final String P_S_9 = "^(f|ht){1}(tp|tps):\\\\/\\\\/([\\\\w-]+\\\\.)+[\\\\w-]+(\\\\/[\\\\w- ./?%&=]*)?";// 赛选字符串中的URL

密码相关

1
2
3
4
5
6
public static final String P_P_0 = "^(?=.*\\\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";// 密码强度
public static final String P_P_1 = "^[A-Za-z0-9]+$";// 英文&数字
public static final String P_P_2 = "^[A-Za-z0-9]{4,40}$";// 英文&数字
public static final String P_P_3 = "^\\w+$ 或 ^\\w{3,20}$";// 数字、英文字母或下划线
public static final String P_P_4 = "^[a-zA-Z]\\w{5,17}$";// 密码【以字母开头,长度在6~18之间,只能包含字母、数字和下划线】
public static final String P_P_5 = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";// 强密码【必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间】

时间相关

1
2
3
public static final String P_T_0 = "^\\d{4}-\\d{1,2}-\\d{1,2}";// 日期格式
public static final String P_T_1 =
"^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$\n";//校验日期 【“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。】

其他

1
2
3
4
5
6
7
8
9
10
11
public static final String P_O_1  = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";// Email
public static final String P_O_2 = "[\\\\w!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[\\\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\\\w](?:[\\\\w-]*[\\\\w])?\\\\.)+[\\\\w](?:[\\\\w-]*[\\\\w])?";// Email
public static final String P_O_3 = "[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?";// 域名
public static final String P_O_4 = "^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$";// 手机号码
public static final String P_O_5 = "^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\\\d{8}$";// 手机号码
public static final String P_O_6 = "^\\d{15}|\\d{18}$";// 身份证号
public static final String P_O_7 = "^[1-9]\\\\d{7}((0\\\\d)|(1[0-2]))(([0|1|2]\\\\d)|3[0-1])\\\\d{3}$";// 15位身份证号
public static final String P_O_8 = "^[1-9]\\\\d{5}[1-9]\\\\d{3}((0\\\\d)|(1[0-2]))(([0|1|2]\\\\d)|3[0-1])\\\\d{3}([0-9]|X)$";// 18位身份证号
public static final String P_0_9 = "^[0-9]+(.[0-9]{2})?$";// 金额校验,精确到2位小数
public static final String P_0_10 = "\\\\< *[img][^=XXFN}*[src] *= *[\\\\\"\\\\']{0,1}({FNXX=]*)";// 获取网页中的图片信息
public static final String P_0_11 = "[1-9][0-9]\\{4,\\}";// QQ号

判断是否匹配正则
判定规则
待判定字符串

1
2
3
public static boolean isMatch(String regex, CharSequence str) {
return str != null && str.length() > 0 && Pattern.matches(regex, str);
}

最后奉上:(可视化正则链接)

文章目录
|