Java程序设计 正则表达式快速入门

Java程序设计 正则表达式快速入门,第1张

Java程序设计 正则表达式快速入门 Java程序设计 正则表达式快速入门

利用正则表达式可以执行更加复杂的字符串的拆分、验证、替换等 *** 作

不使用正则表达式验证字符串

public class Hello {
    public static void main(String[] args) {
        String s="123a";
        boolean flag = true;
        //将字符串转换为字符数组
        char c[] = s.toCharArray();
        for(int i=0;i '9') {
                flag = false;
                break;
            }
        }
        if(flag){
            System.out.println("字符串由数字构成");
        }else {
            System.out.println("字符串不是由数字构成");
        }
    }
}

使用正则表达式验证字符串

import java.util.regex.Pattern;
public class Hello {
    public static void main(String[] args) {
        String s="123456";
        if(Pattern.compile("[0-9]+").matcher(s).matches()){
            System.out.println("字符串由数字构成");
        }else {
            System.out.println("字符串不是由数字构成");
        }
    }
}

“[0-9]+”是正则表达式的匹配字符,表示由1个以上的数字组成

正则表达式 *** 作类需要通过Pattern和Matcher两个类完成 *** 作的

Pattern类的主要作用是进行正则规范

Matcher类主要是执行规范,验证一个字符串是否符合其规范

规范作用\表示反斜线()字符t表示制表符n表示换行[abc]字符a、b、c[^abc]除了a、b、c之外的任意字符[a-zA-Z0-9]表示由字母、数字组成d表示数字D表示非数字w表示字母、数字、下划线W表示非字母、数字、下划线s表示所有空白字符S表示所有非空白字符^行的开头$行的结尾_匹配除换行符之外的任意字符

数量

规范作用X必须出现一次X?可以出现0次、1次X*可以出现0次、1次、多次X+可以出现1次、多次X{n}必须出现n次X{n.}必须出现n次以上X{n,m}必须出现n-m次

逻辑运算符

规范作用XYX规范后跟着Y规范X|YX规范或Y规范(X)作为一个捕获组规范 Pattern类的常用方法 方法作用public static Pattern compile(String regex)指定正则表达式规则public Matcher matcher(CharSequence input)返回Matcher类实例public String[] split(CharSequence input)字符串拆分 Matcher类的常用方法 方法作用public boolean matches()执行验证public String replaceAll(String replacement)字符串替换

验证日期

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Hello {
    public static void main(String[] args) {
        String s="2023年01月23日";
        if(Pattern.compile("\d{4}年\d{2}月\d{2}日").matcher(s).matches()){
            System.out.println("是日期");
        }else {
            System.out.println("不是日期");
        }
//        方式二
        Pattern p = Pattern.compile("\d{4}年\d{2}月\d{2}日");
        Matcher m = p.matcher(s);
        if(m.matches()){
            System.out.println("是日期");
        }else {
            System.out.println("不是日期");
        }
    }
}

使用正则表达式规则替换字符

除了数字其他全部替换成+

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Hello {
    public static void main(String[] args) {
         String s ="ghj45fghj5g2t66h2g5g5h55fg8f7g7";
        Pattern p = Pattern.compile("\D+");
        Matcher m = p.matcher(s);
        String a = m.replaceAll("+");
        System.out.println(a);
    }
}

String类的正则支持方法 方法作用public boolean matches(String regex)字符串匹配public String replaceAll(String regex,String replacement)字符串替换public String[] splic(String regex)字符串拆分
public class Hello {
    public static void main(String[] args) {
         String s ="ghj45fghj5g2t66h2g5g5h55fg8f7g7";
        String a = s.replaceAll("\D+","+");
        System.out.println(a);
        String b[] = s.split("5+");
        for(String x : b){
            System.out.print(x+" ");
        }
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5717102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存