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);

 

posted @ 2020-07-10 18:04  wangmeihao  阅读(176)  评论(0编辑  收藏  举报