String类提供的正则表达式应用

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2022年11月20日 (日) 10:26的版本 →‎案例
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1Eq4y1E79W?p=23

String类中使用正则表达式

String.java 源代码

package java.lang;
……
public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    
……
    public String replaceAll(String regex, String replacement) {
        return Pattern.compile(regex).matcher(this).replaceAll(replacement);
    }

……

}


案例

2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,J2SE1.3是对J2SE1.2的补充和扩展,从应用领域的角度分析,JavaSE1.3已经涵盖了数据库、WEB、网络、图形、多媒体、电话、影像等大部分的信息技术领域。

2002年2月26日,J2SE1.4发布。与J2SE1.3相比,多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。

将上面文字 JDK1.3 JDK1.4 统一替换成 JDK



示例1:

public class StringReg {

    public static void main(String[] args) {

        String content = "2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,J2SE1.3是对J2SE1.2的补充和扩展,从应用领域的角度分析,JavaSE1" +
                ".3已经涵盖了数据库、WEB、网络、图形、多媒体、电话、影像等大部分的信息技术领域。\n" +
                "\n" +
                "2002年2月26日,J2SE1.4发布。与J2SE1.3相比,多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I" +
                "/OAPI、正则表达式、日志与断言。";

        String regex = "(JDK)1\\.[3|4]";

        String ret = content.replaceAll(regex, "$1");

        System.out.println(ret);

    }

}
2000年5月,JDK、JDK和J2SE1.3相继发布,J2SE1.3是对J2SE1.2的补充和扩展,从应用领域的角度分析,JavaSE1.3已经涵盖了数据库、WEB、网络、图形、多媒体、电话、影像等大部分的信息技术领域。

2002年2月26日,J2SE1.4发布。与J2SE1.3相比,多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。



示例2:

public class StringReg {

    public static void main(String[] args) {

        String content = "2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,J2SE1.3是对J2SE1.2的补充和扩展,从应用领域的角度分析,JavaSE1" +
                ".3已经涵盖了数据库、WEB、网络、图形、多媒体、电话、影像等大部分的信息技术领域。\n" +
                "\n" +
                "2002年2月26日,J2SE1.4发布。与J2SE1.3相比,多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I" +
                "/OAPI、正则表达式、日志与断言。";

        String regex = "JDK1.3|JDK1.4";

        String ret = content.replaceAll(regex, "JDK");

        System.out.println(ret);

    }

}