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范围内一个数字
}
}