Matcher.group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西即匹配的第一个子表达式,group(2)指的第二个括号里的东西即匹配的第二个子表达式.

例如:

public class TestMatcher {

    public static final String STR_PATTERN = "(\\d{3,5})([a-z]{2})";

    public static void main(String[] args) {
String str = "123aa-34345bb-234cc-00";
Pattern regx = Pattern.compile(STR_PATTERN);
Matcher match = regx.matcher(str);
int count = 1;
/**
* match.find()
* 查找与该模式匹配的输入序列的下一个子序列,返回boolean型,
* 如果输入串中有多个子序列匹配,则每次find时从上一次匹配操作没有匹配的第一个字符开始
* 如果匹配成功,则可以通过start、end 和 group 方法获取更多信息
* 也就是说start、end和group都是针对find的结果即匹配的子串进行操作
*/
while(match.find()) {
System.out.println("***************************第" + count + "次匹配********************************");
System.out.println("第" + count + "次查找与该模式匹配的输入序列的下一个子序列");
System.out.println("第" + count + "次匹配的子串:" + match.group());
System.out.println("第" + count + "次匹配的子串中第1个子序列" + match.group(1));
System.out.println("第" + count + "次匹配的子串中第2个子序列" + match.group(2));
count++;
}
System.out.println("***************************match.groupCount()****************************************");
System.out.println("分组即有几个括号:match.groupCount()=" + match.groupCount());
}
}

输出结果如下:

***************************第1次匹配********************************
第1次查找与该模式匹配的输入序列的下一个子序列
第1次匹配的子串:123aa
第1次匹配的子串中第1个子序列123
第1次匹配的子串中第2个子序列aa
***************************第2次匹配********************************
第2次查找与该模式匹配的输入序列的下一个子序列
第2次匹配的子串:34345bb
第2次匹配的子串中第1个子序列34345
第2次匹配的子串中第2个子序列bb
***************************第3次匹配********************************
第3次查找与该模式匹配的输入序列的下一个子序列
第3次匹配的子串:234cc
第3次匹配的子串中第1个子序列234
第3次匹配的子串中第2个子序列cc
***************************match.groupCount()****************************************
分组即有几个括号:match.groupCount()=2

  

Matcher类详解2-group的更多相关文章

  1. java之Matcher类详解

    在JDK 1.4中,Java增加了对正则表达式的支持. java与正则相关的工具主要在java.util.regex包中:此包中主要有两个类:Pattern.Matcher. Matcher  声明: ...

  2. JAVA正则表达式:Pattern类与Matcher类详解(转)

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...

  3. 正则表达式:Pattern类与Matcher类详解

    一.捕获组的概念 捕获组可以通过从左到右计算其开括号来编号,编号是从1 开始的.例如,在表达式((A)(B(C)))中,存在四个这样的组: 1     ((A)(B(C))) 2     (A) 3  ...

  4. JAVA正则表达式:Pattern类与Matcher类详解

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...

  5. [转] JAVA正则表达式:Pattern类与Matcher类详解(转)

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和 Matcher Pattern 一个Pattern是一个正则表达式经编译后的 ...

  6. Matcher类详解

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 它包括两个类:Pattern和Matcher . Pattern: 一个Pattern是一个正则表达式经编 ...

  7. QAction类详解:

    先贴一段描述:Qt文档原文: Detailed Description The QAction class provides an abstract user interface action tha ...

  8. java之StringBuffer类详解

    StringBuffer 线程安全的可变字符序列. StringBuffer源码分析(JDK1.6): public final class StringBuffer extends Abstract ...

  9. java之AbstractStringBuilder类详解

    目录 AbstractStringBuilder类 字段 构造器 方法   public abstract String toString() 扩充容量 void  expandCapacity(in ...

随机推荐

  1. Bank Simulation Program银行管理系统C++ :)

    设计并实现简单的银行存取款系统,系统主界面包括登录和注册两个选项,选择登录,提示用户输入银行帐号和密码,验证通过后进入主界面,主界面包括:存款.取款.查询余额.历史记录.修改密码等功能.注册功能让用户 ...

  2. Android中级教程之Android应用程序的生命周期

    Android应用程序的生命周期图 在大部分情况下,每个Android应用都将运行在自己的Linux进程中.当这个应用的某些代码需要执行时,进程就会被创建,并且将保持运行,直到该进程不再需要,而系统需 ...

  3. POJ 3414 BFS 输出过程

    Pots Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 17456   Accepted: 7407   Special J ...

  4. 矩阵乘法在hadoop的实现

    先随机生成一个矩阵,矩阵的行数与列数由用户输入: #!/bin/bashfor i in `seq 1 $1`do for j in `seq 1 $2` do s=$((RANDOM%100)) e ...

  5. django 自定义过滤器中的坑.

    今天在创建自定义过滤器的时候,设置已正常.但是在运行后报: 'filter' is not a valid tag library: Template library filter not found ...

  6. 微信小程序-----校园头条详细开发之首页

    1.首页展示功能的实现 1.1  结构 1.2 代码实现 1.2.1  界面的设计这里就不多说了,样式都是我自己写的,还有就是页面的跳转,看详细代码 var app = getApp() Page({ ...

  7. Halcon18 Linux For Armv7a 下载

    Halcon18 Linux For Armv7a 下载地址:http://www.211xun.com/download_page_16.html HALCON 18 是一套机器视觉图像处理库,由一 ...

  8. Unity 查找

    GameObject.Find().Transform.Find查找游戏对象 1.前置条件 Unity中常用到查找对象,非隐藏的.隐藏的,各种方法性能有高有低,使用又有各种条件限制. 在此对查找的性能 ...

  9. XMLHttpRequest对象创建

    本文摘抄自:Ajax知识体系大梳理地址:http://louiszhai.github.io/2016/11/02/ajax/本文内容并不完整,请到原文阅读. if (window.XMLHttpRe ...

  10. Nginx & Reverse Proxy

    Nginx & Reverse Proxy https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/ https:/ ...