13.第十二节demo6---quantifier

    xiaoxiao2025-01-08  16

    package com.zzh.day2; import java.util.regex.Matcher; import java.util.regex.Pattern; public class demo6 { public static void main(String[] args) { //qulifiers Pattern p1 = Pattern.compile("(.{3,10}?)[0-9]");//reluctant quantifier,一次吞最少的 Pattern p2 = Pattern.compile("(.{3,10})[0-9]");//greedy quantifier,一次吞最多的 Pattern p3 = Pattern.compile("(.{3,10}+)[0-9]");//possessive quantifier 一次吞最多的,不吐 String string = "aaaa65565bbb"; Matcher m1 = p1.matcher(string); Matcher m2 = p2.matcher(string); Matcher m3 = p3.matcher(string); if (m1.find()) { System.out.println(m1.group()+" "+m1.start()+"-"+m1.end()); }else{ System.out.println("m1 not matche"); } if (m2.find()) { System.out.println(m2.group()+" "+m2.start()+"-"+m2.end()); }else{ System.out.println("m2 not matche"); } if (m3.find()) { System.out.println(m3.group()+" "+m3.start()+"-"+m3.end()); }else{ System.out.println("m3 not matche"); } } }

    输出结果:

    aaaa6 0-5 aaaa65565 0-9 m3 not matche

    本次测试的部分是

    Pattern p1 = Pattern.compile("(.{3,10}?)[0-9]");//reluctant quantifier,一次吞最少的,慢慢吐,慢慢吞 Pattern p2 = Pattern.compile("(.{3,10})[0-9]");//greedy quantifier,一次吞最多的,慢慢吐,慢慢吞 Pattern p3 = Pattern.compile("(.{3,10}+)[0-9]");//possessive quantifier 一次吞最多,不吐,会吞

    细小差别,细心体会。动手撸一段代码,就明白了。

    最新回复(0)