正则表达式Pattern类的基本用法

public void mailRegex() {
        // 要验证的字符串
        String str = "shiruo.hdp@taobao.com";
        // 邮箱验证规则
        String regEx = "[a-zA-Z_]{1,}[a-zA-Z.]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regEx);
        // 忽略大小写的写法
        // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(str);
        // 字符串是否与正则表达式相匹配
        boolean rs = matcher.matches();
        // 字符串是否与正则表达式相匹配
        boolean rs = matcher.matches();
        boolean look = matcher.lookingAt();
        boolean find = matcher.find(2);//修改start的值,改变取结果集。
        int start = matcher.start();
        int end = matcher.end();
        String group = matcher.group();
        int groupCount = matcher.groupCount();
        String replaceAll = matcher.replaceAll("shiruo.hdp");
        
        System.out.println("rs=" + rs);
        System.out.println("look=" + look);
        System.out.println("find=" + find);
        System.out.println("start=" + start);
        System.out.println("end=" + end);
        System.out.println("group=" + group);
        System.out.println("groupCount=" + groupCount);
        System.out.println("replaceAll=" + replaceAll);
    }

一个或多个汉字:^[\u0391-\uFFE5]+$
邮政编码:^[1-9]\d{5}$
QQ号码:^[1-9]\d{4,10}$
邮箱:^[a-zA-Z]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}.){1,3}[a-zA-z-]{1,}$
用户名(字母开头 + 数字/字母/下划线):^[A-Za-z][A-Za-z1-9-]+$
手机号码:^1[3|4|5|8][0-9]\d{8}$
URL:^((http|https)://)?([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$
18位身份证号:^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$

 
posted @ 2019-04-17 17:53  黑魔法os  阅读(9668)  评论(0编辑  收藏  举报