常用正则表达式,强烈建议会用就行,不要硬记,现查现用。因为人家写的基本上比你写的完善。
public static void main(String[] args) {
/**
* 匹配银行卡密码
*/
String str ="512311";
// String regex = "^[0-9]{6}$"; $ ^可以省略
// String regex = "[0-9]{6}";
String regex = "\\d{6}";
boolean b = str.matches(regex);
System.out.println(b);
System.out.println("===============================");
/**
* 匹配qq账号5到15位数0不能开头
*/
String regex1="[1-9]\\d{4,14}";
System.out.println("===============================");
/**
* 匹配手机号11位数字 1开头 第二位 3 4 5 7 8中的一位
*
*/
String regex2="1[34578]\\d{9}";
System.out.println("===============================");
/**
* 身份证号18位 6位地区 4位年 2位月 2位日 3位代表个人 最后一位可能是x
*/
String regex3="(\\d{6})(\\d{4})(\\d{2})(\\d{2})(\\d{3})([0-9|x])";
System.out.println("===============================");
/**
* 邮箱的正则表达式2222222@qq.com ...@163.cn
*/
String regex4="[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?";
System.out.println("===============================");
/**
* 域名匹配
*/
String regex5="String regex4=";
Scanner sc=new Scanner(System.in);
String str1 = sc.next();
boolean b1 = str1.matches(regex5);
System.out.println(b1);
System.out.println("===============================");
/**
* 切割字符串
*/
String str3="qwe,qw,ww";
String[] split = str3.split(",");
for (int i = 0; i < split.length; i++) {
System.out.println(split[i]);
}
System.out.println("===============================");
/**
* 字符串替换
*/
String newstring = str3.replace("ww", "pan,yao,yao");
System.out.println(newstring);
System.out.println("===============================");
/**
* 用正则表达式替换第一个字符串
*/
String str4 = "123were232werw";
String s = str4.replaceFirst("\\d{3}", "爱你");
System.out.println(s);
System.out.println("===============================");
/**
* 用正则表达式替换字符串
*/
String str5 = "123were232werw";
String s1 = str5.replaceAll("\\d{3}", "爱你");
System.out.println(s1);
}
}
生活继续,学习加油~··········