正则表达式----Java常用类库

    技术2022-07-11  121

    文章目录

    正则表达式前言正则表达式规范常用正则规范数量表示(X表示一组规范)逻辑运算符(X、Y表示一组规范) 支持正则的Pattern类和Matcher类案例演示运行结果 String类对正则表达式的支持String类的正则支持案例演示运行结果 总结

    正则表达式

    前言

    ​ 正则表达式在编程界是一种非常重要的应用,使用正则表达式可以方便地对数据进行匹配,还可以执行更加复杂地字符串验证、拆分、替换的功能。

    正则表达式规范

    常用正则规范
    序号规范描述序号规范描述1\\表示反斜线(\)字符9\w表示字母、数字、下划线2\t表示制表符10\W表示非字母、数字、下划线3\n表示换行11\s表示所有空白字符(换行、空格等)4[abc]字符a、b或c12\S表示所有非空白字符5[^abc]表示除了a、b、c之外的任意字符13^行的开头6[a-zA-Z0-9]表示由字母、数字组成14$行的结束7\d表示数字15.匹配除了换行符之外的任意字符8\D表示非数字
    数量表示(X表示一组规范)
    序号规范描述序号规范描述1X必须出现一次5X{n}必须出现n次2X?可以出现0次或1次6X{n,}必须出现n次以上3X*可以出现0次、1次或多次7X{n,m}必须出现n~m次4X+可以出现1次或多次
    逻辑运算符(X、Y表示一组规范)
    序号规范描述序号规范描述1XYX规范后跟着Y规范3(X)作为一个捕获组规范2X|YX规范或Y规范

    支持正则的Pattern类和Matcher类

    ​ 在java.util.regex包中的Pattern、Matcher两个类支持在程序中应用Pattern类和Matcher类。

    Pattern类负责定义正则表达式规范,即:Pattern p = Pattern.compile(String regex)设置正则表达式规则,Mathcer m = Pattern.matcher(String str)获取Matcher类实例化对象。

    Matcher类实例化对象可以通过matches()方法判断此字符串是否满足正则表达式规则。

    案例演示
    package chapter_eleven; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo01 { public static void main(String[] args) { String str = "1234567890"; //构建字符串 Pattern pattern = Pattern.compile("[0-9]+"); //实例化Pattern类对象,正则规则为匹配1个或多个数字 Matcher matcher = pattern.matcher(str); //验证字符串内容是否合法 if(matcher.matches()){ //正则检验,成功返回true,否则返回false System.out.println("合法的字符串!"); }else { System.out.println("不合法的字符串!"); } } }
    运行结果
    合法的字符串!

    String类对正则表达式的支持

    ​ 在String类中有3个方法支持正则操作

    String类的正则支持
    序号方法类型描述1public boolean matches(String regex)普通字符串匹配2public String replaceAll(String regex, String replacement)普通字符串替换3public String[] split(String regex)普通字符串拆分
    案例演示
    package chapter_eleven; public class RegexDemo02 { public static void main(String[] args) { String str = "A059B321C456D321E543"; boolean flag = str.matches("([A-Z][0-9]{3})+"); //进行字符串匹配 String[] strs = str.split("[0-9]+"); //进行字符串拆分 String strReplace = str.replaceAll("\\d+","\t"); //进行字符串的替换 System.out.println("正则匹配的结果---->" + flag); //输出结果 System.out.println("正则替换的结果---->" + strReplace); System.out.print("正则拆分的结果---->"); for (int i = 0; i < strs.length; i++){ System.out.print(strs[i] + "、"); } } }
    运行结果
    正则匹配的结果---->true 正则替换的结果---->A B C D E 正则拆分的结果---->A、B、C、D、E、

    总结

    ​ 使用正则表达式可以方便地对字符串进行验证、拆分、替换等复杂地功能,在开发中经常会用到String类提供地正则支持,而很少采用Pattern和Matcher类,运用一些正则表达式时,要注意对一些敏感的字符进行转义操作。

    Processed: 0.009, SQL: 9