https://www.cnblogs.com/jiafuwei/p/6080984.html

Java正则表达式--Matcher.group函数的用法

原来,group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。

最近学习正则表达式,发现Java中的一些术语与其他地方描述的有所差异。比如Java正则表达式中的“组”概念与《正则表达式必知必会》一书中讲述的“子表达式”其实是一样的,只是表述不同而已。由此也引发了使用JavaAPI时对group(int group)、start(int group)、end(int group)不是太理解。

package com.enation.newtest;
import java.io.*;
import java.util.regex.*;
import java.net.*;public class  MailTest{public static void main(String[] args) throws Exception{String regEx = "count(\\d+)(df)";  String s = "count000dfdfsdffaaaa1";  Pattern pat = Pattern.compile(regEx);  Matcher mat = pat.matcher(s);  if(mat.find()){System.out.println(mat.group(2));}}}

输出结果

mat.group() 输出为 count000df
mat.group(1) 输出为 000
mat.group(2) 输出为 df
如果没有括号会有异常。这就是() 的作用。
如何没有() 可以这样写:

public static void main(String []args){String regEx = "count\\d+";  String s = "count000dfdfsdff1";  Pattern pat = Pattern.compile(regEx);  Matcher mat = pat.matcher(s);  if(mat.find()){System.out.println(mat.group());}
}

Java正则表达式--Matcher.group函数的用法相关推荐

  1. java matcher group_Java正则表达式matcher.group()用法

    java中正则匹配 group是针对()来说的,因为你匹配到的结果是一组,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西. 代码: ...

  2. JAVA正则表达式,matcher.find()和 matcher.matches()的区别

    1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数. matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为 ...

  3. Java正则表达式 - Matcher

    Matcher类: 使用Matcher类,最重要的一个概念必须清楚: 组(Group) ,在正则表达式中 ()定义了一个组,由于一个正则表达式可以包含很多的组,所以下面先说说怎么划分组的, 以及这些组 ...

  4. java 正则表达式 Matcher

    matches&lookingAt&find Pattern p=Pattern.compile("\\d"); Matcher m=p.matcher(" ...

  5. java unset_PHP--isset()和unset()函数的用法-Java架构师必看

    isset(PHP3,PHP4,PHP5)isset--检测变量是否设置描述boolPHP isset (PHP 3, PHP 4, PHP 5 ) isset -- 检测变量是否设置 描述 bool ...

  6. java 正则表达式 分组(group)

    捕获组可以通过从左到右计算其开括号来编号,编号是从1 开始的.组零始终代表整个表达式. 形如(A)(B(C))的表达式,分组顺序如下 1 ((A)(B(C))) 2 (A) 3 (B(C)) 4 (C ...

  7. Java中的split()函数的用法

    split()方法介绍 方法原型: public String[] split(String regex, int limit)- regex -- 正则表达式分隔符.- limit -- 分割的份数 ...

  8. python中split的用法取第二个分片_python中split()函数的用法

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(li ...

  9. 正则表达式 matcher.find() 一直为true

    Java 正则表达式 matcher.find() 一直为true 知识点: * 匹配前面的子表达式零次或多次.要匹配 * 字符,请使用 \*. + 匹配前面的子表达式一次或多次.要匹配 + 字符,请 ...

最新文章

  1. 性能测试的“2-5-10原则”
  2. 启动tomcat出现too many connections的原因及解决方法
  3. react Native 环境安装配置——图解版一目了然
  4. Java面向对象部分小结
  5. BZOJ3291Alice与能源计划——匈牙利算法+模拟费用流
  6. 【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)...
  7. 模拟数据生成工具--Faker
  8. 3dmax导出unity3d模型设置
  9. 舆情热度实时数据查询分析怎么做的方法措施
  10. 面经——华为联发科小米兆易创新(2020年秋招嵌入式软件)
  11. 区块链与大数据,打造智能经济(读书笔记)——井底望天
  12. 金代文化是中华民族文化的重要组成部分
  13. mt4的服务器在哪个文件,mt4的服务器地址
  14. 国家开放大学2021春2405现代汉语(1)题目
  15. mysql handlers_MySQL handler相关状态参数解释
  16. vue3使用less,scoped后发现:deep不生效
  17. 九章算法笔记D2-坐标型动态规划
  18. Unity3D RPG角色扮演游戏源码(上下)-----源代码分析----04--修改菜单窗口
  19. Etcd部分常用命令+采坑
  20. [PDA開發]獲得PDA的ip地址與機器名稱

热门文章

  1. 【PHPWord】插入Excel对象
  2. 中删除某几列_算法--apriori 实战 (某零售企业的商品关联分析)
  3. debian虚拟机装上后开机不行_华为MT9进水不开机, 一步一个“坑”把掌柜修的也是无语,想发火...
  4. python windows编程_在Windows下配置Python编程学习环境
  5. linux message日志只有4k,命令长期运行 常用技巧 Linux 服务器 · 404k的前后端日志...
  6. java weakhashmap用法_Java WeakHashMap指南
  7. 微信小程序 统一支付 php,微信/微信小程序统一下单(PHP版)
  8. 模拟撞击_研究人员打造出能让橄榄球头盔承受住反复撞击的液态纳米泡沫
  9. asp.net core系列 38 WebAPI 返回类型与响应格式--必备
  10. jQuery插件开发--(转)