发新话题

正则表单式的group(int index)的规则

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
  public static void main(String[] args) {
    String str = "1234567abc890";
    Pattern p = Pattern.compile("12((\\d{2})(.*?))9",Pattern.DOTALL);
    Matcher m = p.matcher(str);
    if (m.find()) {
      for (int i = 0; i <= m.groupCount(); i++) {
        System.out.println("group(" + i + ")=" + m.group(i));
      }
    }
  }
}


输出
group(0)=1234567abc89
group(1)=34567abc8
group(2)=34
group(3)=567abc8


可见输出顺序为从左到右,从外到内的索引顺序。
group(0)代表整个字符串
快乐渡过每一天,减肥坚持每一天



编辑 回复 快速回复 TOP
早上我问的就是这个问题,呵呵,明白了,谢谢了
Enjoy Java,Enjoy eceryday !!!
编辑 回复 快速回复 TOP
谢谢竹子了~~~呵呵~~~·
Everyone is No 1~``
编辑 回复 快速回复 TOP
发新话题