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}"));

发表评论

电子邮件地址不会被公开。 必填项已用*标注

(Spamcheck Enabled)