zoukankan      html  css  js  c++  java
  • 正则表达式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  
  • 相关阅读:
    《让未来的你,感谢现在的自己》——自己努力
    老罗——《我的奋斗》
    1. opencv的初体验
    opencv初体验
    opencv的初体验
    python学习2——数据类型
    卷积的意义
    C#学习笔记一
    C++知识点
    二维数组作为参数传递
  • 原文地址:https://www.cnblogs.com/jsStudyjj/p/6145623.html
Copyright © 2011-2022 走看看