1. 程式人生 > >Java學習日誌14.2 (第一階段基礎)

Java學習日誌14.2 (第一階段基礎)

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