正则表达式 三 [] 表示范围

package com.cn.regExp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestRegExp {

    public static void p(Object o) {
        System.out.println(o);
    }

    public static void main(String[] args) {

        //初步认识 .* + ?
        //.表示一位字符,* 表示零个或多个,+ 表示一个或多个,? 表示一个或零个
//        p("a".matches("."));//true,匹配一个字符任何字符
//        p("a".matches("a"));//true,匹配一个
//
//        p("".matches("a*"));//true,匹配零个
//        p("aaaaaaaaaaaaaaa".matches("a*"));//true,匹配多个
//
//        p("a".matches("a+"));//true,匹配一个
//        p("aaaaaaaaaaaaaaaaaaaa".matches("a+"));//true,匹配多个
//
//        p("a".matches("a?"));//true,匹配一个
//        p("aaaaa".matches("a?"));//false,匹配多个
//        p("".matches("a?"));//true,匹配零个
//
//
//        //X{n} X,恰好 n 次
//        p("aa".matches("a{2}"));//true,恰好2次a
//        //X{n,} X,至少 n 次
//        p("aaaaaaaaaa".matches("a{5,}"));//至少5次,最多无限
//        //X{n,m} X,至少 n 次,但是不超过 m 次
//        p("123333333337628383".matches("\\d{5,100}"));//    \\d表示数字 ,匹配数字至少3位最多不超过100位
//
//
//        p("aaa.168.0.15".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//false,验证数字至少1位,最多3位,之间用.分开
//        p("192.168.0.15".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//true
//        p("192".matches("[0-2][0-9][0-9]"));//true  []表示范围,[0-2]表示在0到2范围内一个数字,[0-9]表示在0到9范围内一个数字

        //  []表示范围,一个中括号匹配一个字符
        p("a".matches("[abc]"));// true  ,匹配中括号内有一个a
        p("a".matches("[^abc]"));//false,匹配除了abc以外的任意字符
        p("a".matches("[a-zA-Z]"));//true,匹配小写的a-z或者大写的A-Z范围内一个字符
        p("a".matches("[a-z | A-Z]"));//true 匹配小写的a-z或者大写的A-Z范围内一个字符
        p("a".matches("[a-z[A-Z]]"));//true  匹配小写的a-z或者大写的A-Z范围内一个字符
        p("R".matches("[A-Z && [RGB]]"));//true 必须在A-Z范围内并且是RGB范围中的一个
        
    }
}

相关推荐