JAVA基础(正则表达式字符类)

1,字符类

  • [abc] a、b 或 c(简单类)

  • [^abc] 任何字符,除了 a、b 或 c(否定)

  • [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)

  • [0-9] 0到9的字符都包括

2,案例

public class Demo2_Regex {





    /**

     * [abc] a、b 或 c(简单类)

        [^abc] 任何字符,除了 a、b 或 c(否定)

        [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

        [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)

        [a-z&&[def]] d、e 或 f(交集)

        [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)

        [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)





     */

    public static void main(String[] args) {

        //demo1();

        //demo2();

        //demo3();

        //demo4();

        //demo5();

        //demo6();

        String regex = "[a-z&&[^m-p]]";    

        System.out.println("m".matches(regex));

        System.out.println("a".matches(regex));

        System.out.println("z".matches(regex));

        System.out.println("n".matches(regex));

    }





    private static void demo6() {

        String regex = "[a-z&&[^bc]]";

        System.out.println("a".matches(regex));

        System.out.println("b".matches(regex));

        System.out.println("1".matches(regex));

    }





    private static void demo5() {

        String regex = "[a-z&&[def]]";                        //取交集

        System.out.println("a".matches(regex));

        System.out.println("d".matches(regex));

    }





    private static void demo4() {

        String regex = "[a-d[m-p]]";

        System.out.println("a".matches(regex));

        System.out.println("m".matches(regex));

        System.out.println("n".matches(regex));

    }





    private static void demo3() {

        String regex = "[a-zA-Z]";            

        System.out.println("a".matches(regex));

        System.out.println("A".matches(regex));

        System.out.println("z".matches(regex));

        System.out.println("Z".matches(regex));

        System.out.println("1".matches(regex));

        System.out.println("%".matches(regex));

    }





    private static void demo2() {

        String regex = "[^abc]";

        System.out.println("a".matches(regex));

        System.out.println("b".matches(regex));

        System.out.println("c".matches(regex));

        System.out.println("d".matches(regex));

        System.out.println("1".matches(regex));

        System.out.println("%".matches(regex));

        System.out.println("10".matches(regex));        //10代表1字符和0字符,不是单个字符

    }





    private static void demo1() {

        String regex = "[abc]";                    //[]代表单个字符

        System.out.println("a".matches(regex));

        System.out.println("b".matches(regex));

        System.out.println("c".matches(regex));

        System.out.println("d".matches(regex));

        System.out.println("1".matches(regex));

        System.out.println("%".matches(regex));

    }

}



猜你喜欢

转载自blog.csdn.net/Cricket_7/article/details/92802982