String类—正则表达式

  • Post author:
  • Post category:其他


正则表达式了解



正则表达式

一、字符

[a-z] // 匹配所有的小写字母

[A-Z] // 匹配所有的大写字母

[a-zA-Z] // 匹配所有的字母

[0-9] // 匹配所有的数字

[ \f\r\t\n] // 匹配所有的白字符


说明

:特殊字符 .(点,句号)在正则表达式中用来表示除了”新行”之外的所有字符

二、数字类

[0-9]:字符串这个位置只能是数字

[^0-9]:字符串这个位置不能是数字

[\d]:等同于[0-9]

[\D]:等同于[^0-9]

三、数量词

x{m} :x字符或字符簇只出现m次

//例:a{2}表示a只出现两次

x{m,}:x字符出现m或更多的次数

x{m,n}:前面的内容至少出现m次,但不超过n次

x? :x这个字符出现一次或一次也没有

x* :x这个字符出现零次或多次

x+:x这个字符出现至少一次

四、预定义字符

[\w]:文字字符,包含字母,数字,下划线[a-zA-Z0-9_]

[\W]:文字字符,不能包含字母,数字,下划线[^a-zA-Z0-9_]

五、正则表达式的应用


验证QQ邮箱

public class ZhengZeText {
    public static void main(String[] args) {
        ZhengZeText text = new ZhengZeText();
        text.method1();
    }

    public void method1(){
        String atr = "1342328788@qq.com";
        //正则规则
        String ze = "[\\w]+@[a-z]+\\.[a-z]+";
        boolean a = atr.matches(ze);
        System.out.println(a);
    }
}


拆分字符串

public class SplitText {
    public static void main(String[] args) {
        SplitText text = new SplitText();
        text.method1();

    }
    
    public void method1(){
        String str = "aj1sg2fi34u54a";
        String[] strings = str.split("[\\d]+");
        for (int i = 0;i<strings.length;i++){
            System.out.println(strings[i]);
        }

    }
}


替换字符串中的字符


将字符串中的数字转换成@符号

public class ReplaceText {
    public static void main(String[] args) {
        ReplaceText text = new ReplaceText();
        text.method2();

    }

    public void method2() {
        String str = "kjd54gf6asj78d5gf";
        String restring = "[\\d]";
        String re = str.replaceAll("[\\d]","@");
        System.out.println(re);

    }
}



版权声明:本文为m0_64063877原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。