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  
  • 相关阅读:
    Ajax配合Node搭建服务器,运用实例
    mapMutations m
    seaJS使用教程
    节流函数
    【Gin-API系列】Gin中间件之日志模块(四)
    【Gin-API系列】配置文件和数据库操作(三)
    【Gin-API系列】请求和响应参数的检查绑定(二)
    【Gin-API系列】需求设计和功能规划(一)
    【ansible】api 调用出现ssh交互式输入
    【ansible】api 调试
  • 原文地址:https://www.cnblogs.com/jsStudyjj/p/6145623.html
Copyright © 2011-2022 走看看