欢迎来到萧静默的博客

书山有路勤为径,学海无涯苦作舟。

java-正则表达式

1、正则表达式学习

package cn.burce.Regex;

public class RegexDemo {
    public static void main(String[] args) {
        System.out.println(checkQQ("604154942"));
        System.out.println(checkPhoneNO("14106432889"));
        System.out.println(checkMail("141@0.6432889.cn"));
        System.out.println(split("12-34-53-45-76"));
        System.out.println(split1("12    34   53  45 76"));
        System.out.println(split2("192.168.1.100"));
        System.out.println(replace("12-34-53-45-76"));
        System.out.println(replace_1("Hello12345World6789012"));
    }

    // 举例:校验qq号码.
    // 1: 要求必须是5-14位数字
    // 2: 0不能开头
    public static boolean checkQQ(String qq) {
        return qq.matches("[1-9][0-9]{4,14}");
        // return qq.matches("[1-9][\\d]{4,14}");\\d数字的意思
    }

    // 举例:校验手机号码
    // 1:要求为11位数字
    // 2:第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字。
    public static boolean checkPhoneNO(String number) {
        return number.matches("[1][3-8][\\d]{9}");
    }

    // 举例:校验合法邮箱
    public static boolean checkMail(String number) {
        // (\\.[a-zA-Z_0-9]+)+表示带.的数字字母可以出现多次
        return number.matches("^[a-zA-Z_0-9]+[@][a-zA-Z_0-9]+(\\.[a-zA-Z_0-9]+)+");
    }

    // 举例:切割字符串
    // 1:String类Split方法进行切割,切割是变成一个字符串数组
    // 2:12-34-53-45-76进行切割。
    public static String split(String sp) {
        String[] str = sp.split("-");
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < str.length; i++)
        {
            builder.append(str[i]);
        }
        return builder.toString();
    }

    // 举例:切割字符串
    // 1:String类Split方法进行切割(多空格)
    // 2:12 34 53 45 76进行切割。
    public static String split1(String sp) {
        String[] str = sp.split(" +");// 正则表达式,按空格出现一次或多次切割
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < str.length; i++)
        {
            builder.append(str[i]);
        }
        return builder.toString();
    }

    // 举例:切割字符串
    // 1:String类Split方法进行切割(多空格)
    // 2:192.168.1.100进行切割。
    public static String split2(String sp) {
        String[] str = sp.split("\\.");// 含义:.代表的是任何字符
        // 例如:匹配规则为" . ",那么需要匹配的是一个任意字符。如果,就想使用 . 的话,使用匹配规则"\\."来实现
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < str.length; i++)
        {
            builder.append(str[i]);
        }
        return builder.toString();
    }

    // 举例:替换字符串
    // 1:String类Replace方法进行提换
    // 2:12-34-53-45-76进行-提换。
    public static String replace(String re) {
        String str = re.replaceAll("-", "*");
        return str;
    }

    // 举例:替换字符串
    // 1:String类Replace方法进行提换
    // 2:Hello12345World6789012进行数字的提换。
    public static String replace_1(String re) {
        // String str = re.replaceAll("[\\d]", "*");
        String str = re.replaceAll("[\\d]+", "*");// 方括号代表一位,后面写+的话就是代表多位
        return str;
    }

}

 

posted @ 2020-07-20 09:43  萧静默  阅读(116)  评论(0编辑  收藏  举报