• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Java正則表達式中group()、group(i)、groupCount的含義

    發表于:2008-07-14來源:作者:點擊數: 標簽:javaJAVAJavaPattern正則表達式中
    花了兩個小時才搞明白,有點兒笨:P 首先弄明白 Java 的正則表達式中捕獲組的概念,也就是以括號對“()”分割出的子Pattern,為什么要用到子模式呢?這是為了能在一次匹配中找出關心部分,例如: input: abbc pattern:a(b*)c group0: a(b*)c group1:(b*) 整個
    花了兩個小時才搞明白,有點兒笨:P

    首先弄明白Java的正則表達式中捕獲組的概念,也就是以括號對“()”分割出的子Pattern,為什么要用到子模式呢?這是為了能在一次匹配中找出關心部分,例如:
    input: abbc
    pattern:a(b*)c
    group0: a(b*)c
    group1:(b*)

    整個pattern是可以匹配abbc的,group()方法就是獲得當前查找里面整個pattern所匹配的子序列,所以你可以通過group()找到“abbc”;

    與此同時,我還對其中的b的個數感興趣,就可以通過group1來得到關于(b*)的匹配情況,group(i)就是獲得當前查找里面指定的捕獲組所匹配的子序列,所以你可以通過group(0)來找到“bb”;

    上面說清楚了,groupCount()的含義就很容易明白了,它并不是指在輸入序列中Pattern總共匹配了多少次,而是指的捕獲組的個數,當然它不對“整個pattern”計數,而只對“子Pattern”計數,如上例中groupCount()返回1,而如果我們將input改為“abbc abbc abbc”,——有三次匹配——groupCount()還是返回1 ;

    好了,我想廢了半天話,概念應該講清楚了,希望日后能記在腦袋里,不要天天來煩blogger.com:P
    注意:group(i)是在group()的結果中再匹配

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>