最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java正則表達式matcher.group()用法代碼

 更新時間:2023年08月01日 11:14:42   作者:杰克說互聯(lián)網(wǎng)  
這篇文章主要給大家介紹了關(guān)于Java正則表達式matcher.group()用法的相關(guān)資料,最近在做一個項目,需要使用matcher.group()方法匹配出需要的內(nèi)容,文中給出了詳細的代碼示例,需要的朋友可以參考下

java中正則匹配 group是針對()來說的,因為你匹配到的結(jié)果是一組,group(0)就是指的整個串,group(1) 指的是第一個括號里的東西,group(2)指的第二個括號里的東西。

代碼:

package cn.mingyuan.regexp.singlecharacter;  
    import java.util.regex.Matcher;  
    import java.util.regex.Pattern;  
    public class GroupIndexAndStartEndIndexTest {  
    /** 
    * @param args 
    */  
    public static void main(String[] args) {  
       // TODO Auto-generated method stub  
       String str = "Hello,World! in Java.";  
       Pattern pattern = Pattern.compile("W(or)(ld!)");  
       Matcher matcher = pattern.matcher(str);  
       while(matcher.find()){  
        System.out.println("Group 0:"+matcher.group(0));//得到第0組——整個匹配  
        System.out.println("Group 1:"+matcher.group(1));//得到第一組匹配——與(or)匹配的  
        System.out.println("Group 2:"+matcher.group(2));//得到第二組匹配——與(ld!)匹配的,組也就是子表達式  
        System.out.println("Start 0:"+matcher.start(0)+" End 0:"+matcher.end(0));//總匹配的索引  
        System.out.println("Start 1:"+matcher.start(1)+" End 1:"+matcher.end(1));//第一組匹配的索引  
        System.out.println("Start 2:"+matcher.start(2)+" End 2:"+matcher.end(2));//第二組匹配的索引  
        System.out.println(str.substring(matcher.start(0),matcher.end(1)));//從總匹配開始索引到第1組匹配的結(jié)束索引之間子串——Wor  
       }  
    }  
    } 

運行結(jié)果:

Group 0:World!  
    Group 1:or  
    Group 2:ld!  
    Start 0:6 End 0:12  
    Start 1:7 End 1:9  
    Start 2:9 End 2:12  
    Wor  

注意事項:

matcher.group()必須和matcher.find()配合才行,不然Java語言會報運行時異常。

通過在循環(huán)中執(zhí)行matcher.group(),可以將所有匹配項全部提取出來,因此在處理字符串時非常有用。

總結(jié):

其實group(),start(),end()所帶的參數(shù)i就是正則表達式中的子表達式索引(第幾個子表達式),由于剛開始對Java正則表達式中的組的概念不清晰,導(dǎo)致理解困難。當將“組”的概念與“子表達式”對應(yīng)起來之后,理解matcher的group,start,end就完全沒有障礙了。

到此這篇關(guān)于Java正則表達式matcher.group()用法代碼的文章就介紹到這了,更多相關(guān)Java正則表達式matcher.group()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA中的Launcher類解析

    JAVA中的Launcher類解析

    這篇文章主要介紹了JAVA中的Launcher類解析,Launcher作為JAVA應(yīng)用的入口,根據(jù)雙親委派模型,Laucher是由JVM創(chuàng)建的,它類加載器應(yīng)該是BootStrapClassLoader, 這是一個C++編寫的類加載器,是java應(yīng)用體系中最頂層的類加載器,需要的朋友可以參考下
    2023-09-09
  • Java線程之間通信的幾種方式詳解

    Java線程之間通信的幾種方式詳解

    在 Java 中,線程之間的通信是通過共享內(nèi)存模型來實現(xiàn)的,線程通過共享的對象和變量來交換數(shù)據(jù),為了確保線程間通信的正確性,Java 提供了一系列機制來實現(xiàn)線程安全、同步和通信,以下是常用的幾種線程間通信的方式,以及它們的使用方法和場景,需要的朋友可以參考下
    2025-03-03
  • Spring Cloud Gateway 默認的filter功能和執(zhí)行順序介紹

    Spring Cloud Gateway 默認的filter功能和執(zhí)行順序介紹

    這篇文章主要介紹了Spring Cloud Gateway 默認的filter功能和執(zhí)行順序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之哈希算法實現(xiàn)

    Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之哈希算法實現(xiàn)

    哈希表本質(zhì)是一種(key,value)結(jié)構(gòu),由此我們可以聯(lián)想到,能不能把哈希表的key映射成數(shù)組的索引index呢?如果這樣做的話那么查詢相當于直接查詢索引,查詢時間復(fù)雜度為O(1),其實這也正是當key為int型時的做法,將key通過某種做法映射成index,從而轉(zhuǎn)換成數(shù)組結(jié)構(gòu)
    2022-02-02
  • spring?cloud中Feign導(dǎo)入jar失敗的問題及解決方案

    spring?cloud中Feign導(dǎo)入jar失敗的問題及解決方案

    這篇文章主要介紹了spring?cloud中Feign導(dǎo)入jar失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Springboot+JPA打印SQL日志過程

    Springboot+JPA打印SQL日志過程

    文章說明在Spring?Boot項目中配置Lombok插件、application.yml和logback.xml,以實現(xiàn)從前端接收活動名稱參數(shù),并輸出SQL語句及查詢參數(shù)用于調(diào)試
    2025-08-08
  • 基于java實現(xiàn)簡單的圖片類別識別

    基于java實現(xiàn)簡單的圖片類別識別

    這篇文章主要為大家詳細介紹了如何基于java實現(xiàn)簡單的圖片類別識別功能,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2023-12-12
  • 使用java自帶des加密算法實現(xiàn)文件加密和字符串加密

    使用java自帶des加密算法實現(xiàn)文件加密和字符串加密

    這篇文章主要介紹了使用java自帶des加密算法實現(xiàn)文件加密和字符串加密的示例,需要的朋友可以參考下
    2014-03-03
  • JVM內(nèi)存增強之逃逸分析

    JVM內(nèi)存增強之逃逸分析

    逃逸分析一種數(shù)據(jù)分析算法,基于此算法可以有效減少Java對象在堆內(nèi)存中的分配。本文將詳細講講逃逸分析的原理與實現(xiàn),需要的可以參考一下
    2022-09-09
  • Java計算百分比的各種方法總結(jié)

    Java計算百分比的各種方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于Java計算百分比的各種方法,要計算百分比并保留兩位小數(shù),首先需要明確計算公式和java語言的數(shù)學(xué)計算方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-06-06

最新評論

界首市| 伽师县| 平顺县| 云霄县| 郑州市| 鄂托克旗| 界首市| 康乐县| 尖扎县| 临潭县| 浦城县| 共和县| 海兴县| 舞阳县| 崇信县| 铜川市| 新民市| 双牌县| 鹿泉市| 乌兰县| 新民市| 化隆| 浏阳市| 资中县| 诸暨市| 双辽市| 阳曲县| 扶沟县| 临沧市| 阳朔县| 岳普湖县| 东乡| 吉首市| 江源县| 萨迦县| 清新县| 炉霍县| 平阴县| 浮山县| 若羌县| 河池市|