2018.10.22 天气:晴
黑马程序员养成记录第二天
3.常见对象(数量词)
Greedy 数量词
* X? X,一次或一次也没有
* X X,零次或多次
* X+ X,一次或多次
* X{n} X,恰好 n 次
* X{n,} X,至少 n 次
* X{n,m} X,至少 n 次,但是不超过 m 次*
*
代码实现
package com.heima.Regex;
public class demo4_Regex {
public static void main(String[] args) {
demo1();
System.out.println("-----------------");
demo2();
System.out.println("-----------------");
demo3();
System.out.println("-----------------");
demo4();
System.out.println("-----------------");
demo5();
System.out.println("-----------------");
demo6();
}
private static void demo6() {
String regex = "[abc]{5,10}"; //至少5次,不超过10次,包含头也包含尾
System.out.println("aaaaa".matches(regex)); //true
System.out.println("abcabc".matches(regex)); //true
System.out.println("abcaaaaaaaaaa".matches(regex)); //false
System.out.println("aaaaaaaaaaa".matches(regex)); //false
System.out.println("dddd0".matches(regex)); //false
}
private static void demo5() {
String regex = "[abc]{5,}"; //至少5次
System.out.println("aaaaa".matches(regex)); //true
System.out.println("abcabc".matches(regex)); //true
System.out.println("abca".matches(regex)); //false
System.out.println("aaaa".matches(regex)); //false
System.out.println("dddd".matches(regex)); //false
}
private static void demo4() {
String regex = "[abc]{1}"; //恰好一次
System.out.println("".matches(regex)); //false
System.out.println("a".matches(regex)); //true
System.out.println("ac".matches(regex)); //false
System.out.println("aa".matches(regex)); //false
}
private static void demo3() {
String regex = "[abc]+"; //1次或(到)多次
System.out.println("".matches(regex)); //false
System.out.println("a".matches(regex)); //true
System.out.println("abc".matches(regex)); //true
System.out.println("aa".matches(regex)); //true
System.out.println("ddd".matches(regex)); //true
}
private static void demo2() {
String regex = "[abc]*"; //零次或(到)多次
System.out.println("".matches(regex)); //true
System.out.println("a".matches(regex)); //true
System.out.println("abc".matches(regex)); //true
System.out.println("aa".matches(regex)); //true
System.out.println("ddd".matches(regex)); //false
}
private static void demo1() {
String regex = "[abc]?"; //出现一次或者一次也没有,针对于[abc]而言,对其他字符不行
System.out.println("".matches(regex)); //true
System.out.println("a".matches(regex)); //true
System.out.println("d".matches(regex)); //false
System.out.println("aa".matches(regex)); //false
}
}
程序结果:
true
true
false
false
-----------------
true
true
true
true
false
-----------------
false
true
true
true
false
-----------------
false
true
false
false
-----------------
true
true
false
false
false
-----------------
true
true
false
false
false