Java學習日誌14.2 (第一階段基礎)
阿新 • • 發佈:2018-11-03
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