正则表达式matcher.group()用法
本帖转自http://winter8.iteye.com/blog/1463244
group是针对()来说的,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组匹配的结束索引之间子串——Wor
       }
    }  
    }  
运行结果:
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.group用法
		group是针对括号()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西. 上代码: @Test public void te ... 
- 优酷电视剧爬虫代码实现一:下载解析视频网站页面(4)补充: Java正则表达式Matcher.group(int group)相关类解析
		在Java正则表达式的相关类Matcher中,有如下几个方法: - int groupCount() - String group(int group) - int start(int group) ... 
- 初识正则表达式matcher.group
		matcher.group中group是匹配()的,group(0)指的是整个串,group(1) 指的是第一个括号里的内容,group(2)指的第二个括号里的内容,以此类推. 例如: str = & ... 
- Java正则表达式--Matcher.group函数的用法
		原来,group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西. 最近学习正则表达式,发现Java中的一些术语与其 ... 
- 【正则表达式】使用正则表达式的group,查找出String中的参数值
		需求 指标基本格式: clm.{type}.{hostId}.$metricItem 示例1: // 待匹配表达式:<hostId: 为36位的UUID> summarize(clm.pm ... 
- JAVA正则表达式matcher.find()和 matcher.matches()的区别
		1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数.matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为数 ... 
- Matcher.group
		Exception in thread "main" java.lang.IllegalStateException: No match found at java.util.re ... 
- oracle正则表达式regexp_like的用法详解
		oracle正则表达式regexp_like的用法详解 /*ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与IN ... 
- Solr中Facet用法和Group用法
		Group分组划分结果,返回的是分组结果: Facet分组统计,侧重统计,返回的是分组后的数量: 一.Group用法: //组查询基础配置params.set(GroupParams.GROUP, & ... 
随机推荐
- DDD领域模型和充血对象
			DDD领域模型 官方说法 领域驱动设计,它是对面向对象的的分析和设计(OOAD,Object Orient Analysis Design)的一个补充,对技术框架进行了分层规划,同时对每个类进行了策略 ... 
- 《剑指offer》第十五题(二进制中1的个数)
			// 面试题:二进制中1的个数 // 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如 // 把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. #inclu ... 
- js  audio  播放音乐
			<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ... 
- Codeforces 834D - The Bakery(dp+线段树)
			834D - The Bakery 思路:dp[i][j]表示到第j个数为止分成i段的最大总和值. dp[i][j]=max{dp[i-1][x]+c(x+1,j)(i-1≤x≤j-1)},c(x+1 ... 
- iptable 大量需要封杀的ip地址便捷方法
			xu言: 最近家里出了点事,一直没有坚持写blog.感觉还有好一堆事等着我做呢.毕竟人生苦短,及时"行乐". 今天看到我的一个iptable的草稿,赶紧搬上来.以免日后忘记. 有些 ... 
- 20170729xlVba SSC_RECENT100
			Public Sub Recent100() Dim WebText As String Dim Reg As Object, Mh As Object, OneMh As Object Dim i ... 
- inherit
			using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace { cl ... 
- OAF中下载附件之后页面失效,报过时的数据异常,浏览器后退异常
			我在使用了下载功能之后,再往页面添加行或进行保存,页面老是报浏览器后退的异常. 猜测是因为我的下载按钮使用的submitButton,它隐式的包含了一个submit动作,且我在代码中有一个Commit ... 
- 点击input文字会自动消失
			<input type="text" name="q" value="请输入关键字" style="width:128px; ... 
- iOS UI-常用控件
			#import "ViewController.h" @interface ViewController ()<UITextFieldDelegate> // 标题标签 ... 
