java正则表达式

来源:互联网 发布:网络主播loli王春雨 编辑:程序博客网 时间:2024/06/03 14:55
Pattern、Matcher是正则里的两个核心类。正则表达式是jdk1.4之后引入java中的,最早的时候如果需要使用正则表达式,则需要安装Apache的特定的包。
正则如果需要驱动起来,就必须依靠Pattern类和Matcher类,Pattern主要是表示一个规则的意思,即,正则表达式的规则需要在Pattern类中使用。而matcher
主要表示使用pattern指定好的验证规则。


\\  表示反斜杠(\)字符
\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+  可以出现一次或者多次
X{n} 必须出现n次
X{n,} 必须出现n次以上
X{n,m}  必须出现n~m次




   def test () {
        String str = "20160829";
        if (Pattern.compile("[0-9]{5,8}").matcher(str).matches()) {
            System.out.println("是由数字组成!");
        } else {
            System.out.println("不是由数字组成!");
        }
    }
   def test1 () {
        String str = "2016-08-29";
        String pat = "\\d{4}-\\d{2}-\\d{2}";
        if (Pattern.compile(pat).matcher(str).matches()) {
            System.out.println("时间合格!");
        } else {
            System.out.println("时间不合格!");
        }
    }
    def test2 () {
        //要求将里面的字符取出,也就是说按照数字拆分
        String str = "54DF5454F5F4G5F454B6BVGH5TY65";
        String pat = "\\d+";
        Pattern pp = Pattern.compile(pat);
        Matcher m = pp.matcher(str);
        String newString = m.replaceAll("_");
        System.out.println(newString);
    }
0 0
原创粉丝点击