结果示意图
Greedy 数量词
* X? X,一次或一次也没有
* X* X,零次或多次
* X+ X,一次或多次
* X{n} X,恰好 n 次
* X{n,} X,至少 n 次
* X{n,m} X,至少 n 次,但是不超过 m 次
案例代码
- package com.ifenx8.regex;
- import javax.print.DocFlavor.STRING;
- public class Demo4_Regex {
- /**
- * A:Greedy 数量词
- * X? X,一次或一次也没有
- * X* X,零次或多次
- * X+ X,一次或多次
- * X{n} X,恰好 n 次
- * X{n,} X,至少 n 次
- * X{n,m} X,至少 n 次,但是不超过 m 次
- */
- public static void main(String[] args) {
- demo1();// X? X,一次或一次也没有
- demo2();// X* X,零次或多次
- demo3();// X+ X,一次或多次
- demo4();// X{n} X,恰好 n 次
- demo5();// X{n,} X,至少 n 次
- String regex = "[abc]{5,14}";//出现5次到14次之间
- System.out.println("abcac".matches(regex));//出现5次,返回true
- System.out.println("abcacaaabbbccc".matches(regex));//出现大于等于5次小于等于14次,返回true
- System.out.println("abcc".matches(regex));//出现4次 不等于5次,返回false
- System.out.println("asdfb".matches(regex));//虽然有5个字符 但是有不包含其中的字符,返回false
- System.out.println("=========");
- }
- public static void demo5() {
- String regex = "[abc]{5,}";//出现5次及5次以上
- System.out.println("abcac".matches(regex));//出现5次,返回true
- System.out.println("abcacaaabbbccc".matches(regex));//出现大于5次,返回true
- System.out.println("abcc".matches(regex));//出现4次 不等于5次,返回false
- System.out.println("asdfb".matches(regex));//虽然有5个字符 但是有不包含其中的字符,返回false
- System.out.println("=========");
- }
- public static void demo4() {
- String regex = "[abc]{5}";//刚好出现5次
- System.out.println("abcac".matches(regex));//出现5次,返回true
- System.out.println("abcacaaabbbccc".matches(regex));//出现大于5次,返回false
- System.out.println("abcc".matches(regex));//出现4次 不等于5次,返回false
- System.out.println("asdfb".matches(regex));//虽然有5个字符 但是有不包含其中的字符,返回false
- System.out.println("=========");
- }
- public static void demo3() {
- String regex = "[abc]+";//表示出现一次或者多次
- System.out.println("a".matches(regex));//出现一次,返回true
- System.out.println("".matches(regex));//出现0次,返回false
- System.out.println("bbbbccc".matches(regex));//出现多次,返回true
- System.out.println("d".matches(regex));//不出现,返回false
- System.out.println("==========");
- }
- public static void demo2() {
- String regex = "[abc]*";//表示出现0次或者多次
- System.out.println("aaaccb".matches(regex));//出现多次,返回true
- System.out.println("a".matches(regex));//出现一次,返回true
- System.out.println("".matches(regex));//出现0次,返回true
- System.out.println("d".matches(regex));//没有出现,返回false
- System.out.println("=========");
- }
- public static void demo1() {
- String regex ="[abc]?";//表示在abc中的一个或者一个也没有
- System.out.println("a".matches(regex));//true
- System.out.println("b".matches(regex));//true
- System.out.println("c".matches(regex));//true
- System.out.println("d".matches(regex));//false
- System.out.println("".matches(regex));//true
- System.out.println("================");
- }
- }
评论前必须登录!
注册