java正则表达
1.1 正则表达式的匹配规则
正则表达式中明确区分大小写字母。
public static void main(String[] args) { //描述规则 /*11位的手机号码, 第1位为1,第2位为3、4、5、7、8中的一个, 后面9位为0到9之间的任意数字。*/ String reg="[1][34578][0-9]{9}";//如果一位可以去中括号 String phone="15275971792"; boolean f=phone.matches(reg); System.out.println(f); //0不能开头,5-15位 String qq="[1-9][0-9]{4,14}"; String me="1416413863"; boolean q=me.matches(qq); System.out.println(q); //邮箱:qq号@qq.com String r="[1-9a-zA-Z][\\w]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"; //String r="[1-9a-zA-Z][0-9a-zA-Z_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"; String email="1416413863@qq.com"; boolean em=email.matches(r); System.out.println(em); }
字符串类中涉及正则表达式的常用方法
l public boolean matches(String regex) //判断字符串是否匹配给定的规则
校验qq号码. 1: 要求必须是5-15位数字 2: 0不能开头 代码: String qq = "604154942"; String regex = "[1-9][0-9]{4,14}"; boolean flag2 = qq.matches(regex);
l public String[] split(String regex) //根据给定正则表达式的匹配规则,拆分此字符串
分割出字符串中的的数字 代码演示: String s = "18-22-40-65"; String regex = "-"; String[] result = s.split(regex); 代码演示: String s = "18 22 40 65"; String regex = " "; String[] result = s.split(regex);
String ip="192.168.1.171"; String reg="\\."; String[] strs=ip.split(reg); for(int i=0;i<strs.length;i++){ System.out.println(strs[i]); }
l public String replaceAll(String regex,String replacement) //将符合规则的字符串内容,全部替换为新字符串
举例:把文字中的数字替换成* 代码演示: String s = "Hello12345World6789012"; String regex = "[0-9]"; String result = s.replaceAll(regex, "*");
String str="hello123a5aa6bb78"; String reg="[0-9]"; String s=str.replaceAll(reg, "*"); System.out.println(s);