java中有些常用的正则表达式
1.常用的正则表达式的语法
2.常用的正则表达式的使用(Email 电话 身份证)
public class demo01 {
public static void main(String[] args) {
regExpression();
//EmailAction();
regExpression1();
}
/**
* 正则表达式的语法
*/
public static void regExpression(){
System.out.println("正则表达式的语法!!!");
String[] StringReg = new String[25];
StringReg[0] = " 1.元字符表达";
StringReg[1] = " 正则表达式的写法 意义 ";
StringReg[2] = " . 代表任意一个字符 ";
StringReg[3] = " \\d 代表0~9的任意一个数字";
StringReg[4] = " \\D 代表任意一个非数字字符";
StringReg[5] = " \\s 代表空白字符 如‘t’ ‘n’ ";
StringReg[6] = " \\S 代表非空白字符";
StringReg[7] = " \\w 代表可用作标识符的字符,但不包括‘$’";
StringReg[8] = " \\p{Lower} 代表小写字母a~z";
StringReg[9] = " \\p{Upper} 代表大写字母A~Z";
StringReg[10] = " \\p{ASCII} 代表ASCII字符";
StringReg[11] = " [^456] 代表4、5、6之外的任意字符";
StringReg[12] = " [a-r] 代表a~r中的任何一个字母";
StringReg[13] = " [a-zA-Z] 代表任何一个字母";
StringReg[14] = " [a-e[g-z]] 代表a~e或者g~z之间的任何一个字母";
StringReg[15] = " [a-o&&[def]] 代表a~o和d、e、f的任何一个字母";
StringReg[16] = " [a-d&&[^bc]] 代表a~d并且不是bc之间的任何一个字母";
StringReg[17] = "限定修饰符表达";
StringReg[18] = " ? 0次或者1次 A?";
StringReg[19] = " * 0次或者多次 A*";
StringReg[20] = " + 1次或者多次 A+";
StringReg[21] = " {n} 正好出现n次 A{2}";
StringReg[22] = " {n,} 最少出现n次 A{3,}";
StringReg[23] = " {n,m} 出现n~m次 A{n,m}";
for (int i = 0; i < StringReg.length; i++) {
if(StringReg[i]!=null){
System.out.println(StringReg[i]);
}
}
}
/**
* 正则表达式的常用例子
*/
public static void regExpression1(){
System.out.println("正则表达式的常用例子");
//1.手机号码的验证
String phoneReg = "^(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}$";
System.out.println("1.手机号码的验证");
System.out.println("手机号码正则表达式:"+phoneReg);
//2.域名的验证
String domainReg = "[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?";
System.out.println("2.域名的验证");
System.out.println("域名正则表达式:"+domainReg);
//3.邮箱的验证
String EmailReg = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
System.out.println("3.邮箱的验证");
System.out.println("邮箱正则表达式:"+EmailReg);
//4.InternetURL的验证
String URLReg = "[a-zA-z]+://[^\\s]*";
String URLReg1 = "^https://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?$";
System.out.println("4.InternetURL的验证");
System.out.println("InternetURL正则表达式:"+URLReg);
System.out.println("InternetURL正则表达式:"+URLReg1);
//5.电话号码的验证
String TelReg = "^(\\(\\d{3,4}-)|\\d{3.4}-)?\\d{7,8}$";
System.out.println("5.电话号码的验证");
System.out.println("电话号码正则表达式:"+TelReg);
//6.国内电话号码的验证
String TelNatReg = "\\d{3}-\\d{8}|\\d{4}-\\d{7}";
System.out.println("6.国内电话号码的验证");
System.out.println("国内电话号码正则表达式:"+TelNatReg);
//7. 居民身份证的验证
String ResidentIDReg = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{4}$";
System.out.println("7.身份证的验证");
System.out.println(" 身份证正则表达式:"+ResidentIDReg);
//8. 密码的验证(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)
String PassWordReg = "^[a-zA-Z]\\w{5,17}$";
System.out.println("8.密码的验证");
System.out.println(" 密码正则表达式:"+ResidentIDReg);
//9. 日期格式
String DateReg = "^\\d{4}-\\d{1,2}-\\d{1,2}";
System.out.println("9.日期的验证");
System.out.println(" 日期正则表达式:"+DateReg);
}
/**
* 邮箱 用户名 @ 邮箱提供商的域名 。
*/
public static void EmailAction(){
String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
String str1 = "aaaa@";
String str2 = "aaaaaa";
String str3 = "aaaaa@aaaaa.com";
if(str1.matches(regex)){
System.out.println(str1+"是一个合格的Email地址");
}
if(str2.matches(regex)){
System.out.println(str2+"是一个合格的Email地址");
}
if(str3.matches(regex)){
System.out.println(str3+"是一个合格的Email地址");
}
}
}