成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java正則的貪婪和非貪婪模式

myeveryheart / 1609人閱讀

摘要:定義貪婪模式匹配盡可能多的字符非貪婪模式匹配盡可能少的字符在的正則表達式中,通過在修飾匹配次數(shù)的符號后面加一個,即非貪婪模式,默認情況下是貪婪模式。

定義

貪婪模式:匹配盡可能多的字符

非貪婪模式:匹配盡可能少的字符

Java的正則表達式中,通過在修飾匹配次數(shù)的符號后面加一個?,即非貪婪模式,默認情況下是貪婪模式。

表示匹配次數(shù)的符號有:

.?        # 任意字符匹配1次或0次
.*        # 任意字符匹配0次或多次
.+        # 任意字符匹配1次或多次
.{n}    # 任意字符匹配n次
.{n,}    # 任意字符匹配至少n次
.{n,m}    # 任意字符匹配至少n次,至多m次
代碼
public static void main(String[] args) {
        String input = "aaaabc";


        String regex1 = "a{2,3}";               // 貪婪模式
        Pattern p1 = Pattern.compile(regex1);
        Matcher m1 = p1.matcher(input);
        while (m1.find()) {
            System.out.println(m1.group());
        }

        System.out.println("------------------");

        String regex2 = "a{2,3}?";              // 非貪婪模式
        Pattern p2 = Pattern.compile(regex2);
        Matcher m2 = p2.matcher(input);
        while (m2.find()) {
            System.out.println(m2.group());
        }

    }

輸出:

aaa
------------------
aa
aa
原文鏈接

https://segmentfault.com/a/11...
?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/70613.html

相關(guān)文章

  • 正則表達式詳解

    摘要:學(xué)習(xí)正則表達式也是如此,循序漸進,方能厚積薄發(fā)。概念分組捕獲是指將想要匹配的正則表達式用小括號括起來,然后與限定符組合使用,可以連續(xù)匹配符合規(guī)則的字符串。 正則表達式是一個非常有用的用來匹配驗證字符串的工具。很多人覺得正則表達式規(guī)則繁多,學(xué)了也會忘記,不如等到需要使用的時候再去查閱即可。這樣的觀點也無可厚非,不過我曾經(jīng)看到過一個絕妙的關(guān)于閱讀的比喻,閱讀就像是將竹簍浸入到水里面,雖然撈...

    keelii 評論0 收藏0
  • JS基礎(chǔ)入門篇(三十三)—正則表達式

    摘要:舉例一使用這個正則,打印結(jié)果為使用這個正則,打印結(jié)果為舉例二打印結(jié)果如下過濾標(biāo)簽?zāi)愫妹利惖纳虾O朕D(zhuǎn)化成你好,美麗的上海如果后面加,就會進入非貪婪模式。如果后面不加,就會進入貪婪模式,結(jié)果為上海。你好美麗的上海。 1.創(chuàng)建一個正則表達式 方法一:使用一個正則表達式字面量,其由包含在斜杠之間的模式組成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:調(diào)用Re...

    caspar 評論0 收藏0
  • JS基礎(chǔ)入門篇(三十三)—正則表達式

    摘要:舉例一使用這個正則,打印結(jié)果為使用這個正則,打印結(jié)果為舉例二打印結(jié)果如下過濾標(biāo)簽?zāi)愫妹利惖纳虾O朕D(zhuǎn)化成你好,美麗的上海如果后面加,就會進入非貪婪模式。如果后面不加,就會進入貪婪模式,結(jié)果為上海。你好美麗的上海。 1.創(chuàng)建一個正則表達式 方法一:使用一個正則表達式字面量,其由包含在斜杠之間的模式組成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:調(diào)用Re...

    hot_pot_Leo 評論0 收藏0
  • JS基礎(chǔ)入門篇(三十三)—正則表達式

    摘要:舉例一使用這個正則,打印結(jié)果為使用這個正則,打印結(jié)果為舉例二打印結(jié)果如下過濾標(biāo)簽?zāi)愫妹利惖纳虾O朕D(zhuǎn)化成你好,美麗的上海如果后面加,就會進入非貪婪模式。如果后面不加,就會進入貪婪模式,結(jié)果為上海。你好美麗的上海。 1.創(chuàng)建一個正則表達式 方法一:使用一個正則表達式字面量,其由包含在斜杠之間的模式組成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:調(diào)用Re...

    y1chuan 評論0 收藏0
  • 正則表達式詳解 js

    摘要:程序員的正則表達式,醫(yī)生的處方和道士的鬼畫符,都是利器。其實,正則表達式是一門語言,有自己獨特的語法,還擁有自己的解釋器。但是,如果正則表達式是動態(tài)的,是根據(jù)變量來定義的,那么,只能使用第二種構(gòu)造函數(shù)的方式。 前言 作為一個程序員,要出去裝逼,手中必備的技能就是正則表達式。程序員的正則表達式,醫(yī)生的處方和道士的鬼畫符,都是利器。 在js中,很多的場景需要去使用到它(畢竟,js剛剛誕生的...

    fredshare 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<