java使用正则表达式

在java中要使用正则表达式,需要用到Pattern类和Matcher类,两个类都在java.util.regex包中定义。Pattern类用于正则表达式的规范,Matcher类用于执行正则规范。

        String str = "1899-09-23";
        String pat = "\d{4}-\d{2}-\d{2}";
        //实例化Pattern类
        Pattern p = Pattern.compile(pat);
        //实例化Matcher类
        Matcher m = p.matcher(str);
        //执行匹配
        if(m.matches())
        {
            System.out.println("true");
        }
        else {
            System.out.println("false");
        }

还可以利用Pattern类对字符串进行拆分。

        String pat = "\d+";
        String str = "A1213B4534C4533D578";
        Pattern p = Pattern.compile(pat);
        String[] sp = p.split(str);
        //拆分字符串
        for(int i=0;i<=sp.length-1;i++)
            System.out.print(sp[i]);

输出结果为:ABCD

Pattern还提供字符串替换功能:

String pat = "\d+";
        String str = "A1213B4534C4533D578";
        Pattern p = Pattern.compile(pat);
      
        Matcher m = p.matcher(str);
        //将匹配正则表达式的地方替换成_
        System.out.println(m.replaceAll("_"));

输出结果为:A_B_C_D_

其实String本身就提供正在表达式功能,很方便不用再初始化Pattern和Matcher类。

System.out.println("1234-23".matches("\d{4}-\d{2}"));
版权声明

本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。

© 空空博客,本文链接:https://www.yeetrack.com/?p=30