java正则表达式:group()详解

五面拿下阿里飞猪offer,java实现事件响应编程 我朋友去年九月份换工作,简历投了很多大厂,美团、京东的offer都到手了。 阿里的面试进行到了第三轮,刚开始聊得还好,直到阿里面试官揪着MyBatis源码一直问,他自己MyBatis还是比较常用的,但是没深入看过源码,所以没回答好,结果可想而知了。 现在给大家分享一下阿里面试官问他的一些mybatis的部分题目: MyBatis 与 Hibernate 有哪些不同? Mybatis源码中用了哪些设计模式?为什么要用这些设计模式? MyBatis是如何为二级缓存动态添加日志、同步控制、阻塞、缓存淘汰策略等附 阅读详情


import  java.util. * ;
import  java.util.regex.Matcher;
import  java.util.regex.Pattern;
 
public   class  Fenzhu
 
{
     
public   static   void  main(String[] args)
     
{
             Pattern p 
=  Pattern.compile( " (/d{3,5})([a-z]{2}) " );
             String s 
=   " 123aa-34345bb-234cc-00 " ;
             Matcher m 
=  p.matcher(s);
             
while (m.find()) 
             
{
                  System.out.println(
" m.group(): " + m.group());  // 打印所有
                   
                  System.out.println(
" m.group(1): " + m.group( 1 ));  // 打印数字的
                   
                  System.out.println(
" m.group(2): " + m.group( 2 ));  // 打印字母的
                  System.out.println();
                  
           }
    
           System.out.println(
" 捕获个数:groupCount()= " + m.groupCount());
      }

 }

 

 

输出结果为

 

 

附:帮助文档的说明

group

public String group

(int group)
返回在以前匹配操作期间由给定组捕获的输入子序列。

对于匹配器 m 、输入序列 s 和组索引 g ,表达式 m. group( g ) 和 s. substring( m. start( g ),  m. end( g )) 是等效的。

捕获组是从 1 开始从左到右的索引。组零表示整个模式,因此表达式 m.group(0) 等效于 m.group() 。

如果该匹配成功了,但指定组未能匹配输入序列的任何部分,则返回 null 。注意,某些组(例如,(a*) )匹配空字符串。当这些的组成功匹配输入中的空字符串时,此方法将返回空字符串。

 

指定者:
接口 MatchResult 中的 group
参数:
group - 此匹配器模式中捕获组的索引。
返回:
在以前的匹配期间组所捕获的子序列(可能为空);如果组未能匹配输入的部分,则返回 null 。
抛出:
IllegalStateException - 如果没有尝试任何匹配,或者以前的匹配操作失败。
IndexOutOfBoundsException - 如果在给定索引的模式中不存在捕获组。

groupCount

public int groupCount

()
返回此匹配器模式中的捕获组数。

根据惯例,零组表示整个模式。它不包括在此计数中。

任何小于等于此方法返回值的非负整数保证是此匹配器的有效组索引。

 

指定者:
接口 MatchResult 中的 groupCount
返回:
此匹配器模式中的捕获组数。
Java正则表达式matcher.group()用法 总结:其实group(),start(),end()所带的参数i就是正则表达式中的子表达式索引(第几个子表达式),由于刚开始对Java正则表达式中的组的概念不清晰,导致理解困难。当将“组”的概念与“子表达式”对应起来之后,理解matcher的group,start,end就完全没有障碍了。java中正则匹配 group是针对()来说的,因为你匹配到的结果是一组,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。 阅读详情

相关推荐

当兵心理测试软件,当兵心理测试题及答案

心理测试是一种比较先进的测试方法,它是指通过一系列手段,将人的某些心理特征数量化,来衡量个体心理因素水平和个体心理差异差异的一种科学测量方法。小编为你整理了当兵心理测试题及答案,希望对你有所参考帮助。征兵心理测试题(1代表是2代表否)1、我的胃口很好。12、我早上起来的时候,多半觉得睡眠充足,头脑清醒13、我喜欢看报纸上的犯罪新闻。14、有时我常感到困难重重,无法克服。25、我时常遇见一些所谓的专...

weixin_42128393的博客 1万+

Java正则表达式——group方法详解

捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建。 例如,正则表达式 (dog) 创建了单一分组,组里包含"d","o",和"g"。 捕获组是通过从左至右计算其开括号来编号。例如,在表达式((A)(B(C))),有四个这样的组: ((A)(B(C))) (A) (B(C)) (C) 可以通过调用 matcher 对象的 groupCount 方法来查看表达...

午夜阳光 1万+

AIGC大模型应用教学平台

该平台采用最新的AI推理加速芯片,提供30Tops算力和32GB存储,能够运行常见的大语言模型如ChatGLM2、Llama2、Baicuan、Mistral等,也可以运行文生图扩散模型Stable Diffusion,提供大模型微调、量化、转换和加速推理服务。在此基础上,平台还提供常见的生成式AI应用,包括AIGC知识抽取增强(RAG)、AIGC绘画、AIGC会话聊天、数字虚拟人等应用,以便学生能够掌握最新的生成式AI模型微调、提示工程和智能体应用技能。

中智讯的博客 1202

java中,正则表达式的使用 (最普通使用,Group,贪婪模式)

目录 0.最普通的使用 1.正则表达式有Group功能。 2.正则表达式中的贪婪模式, 非贪婪模式(*?) 3.find() 与 matches() 之间的区别 ↓循环获取所有文件 ↓文件内部内容读取操作 Files.lines 这个方法是java8中,新增加的方法。 Stream 构造类时,指定泛型,传递到方法中使用。 ■扩展 1.正则表达式中^的用法 用法一: 限定开头 用法二:(否)取反 区别方法 java中,正则表达式的使用 0.最普通的使用 Patte...

sun0322 2595

Zotero on Mac: 高效文献管理与引用指南

本文为Mac用户提供了一份全面的Zotero高效文献管理与引用指南。从安装配置、文献收集管理、PDF深度阅读与笔记,到在Word中无缝插入引用和生成参考文献,详细讲解了核心工作流。同时推荐了ZotFile、Better BibTeX等必备插件,并介绍了利用同步与WebDAV实现跨设备无缝衔接的方法,助力研究者构建个人数字知识库,极大提升学术研究效率。

weixin_29281941的博客 1175

Microapp 接入vite子应用

MicroApp接入vite版本,干货满满,手把手步骤说明,加上报错说明,赶紧上车!

outsider76557的博客 4658

无涯教程-Java 正则 - Matcher String group函数

java.time.Matcher.group()方法尝试查找与模式匹配的输入序列的下一个子序列。

无涯教程 965

S7-1200模拟量

将两种不同的金属或合金金属焊接起来,构成一个闭合回路,利用温差电动势来测量温度,当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在电动势--热电动势,这就是所谓的塞贝克效应(seebeck effect)。温差越大,热电动势越高。热电偶是有正负极性的,所以需要确保导线连接到正确的极性,否则会造成明显的测量误差。为了使温度补偿达到最佳效果,必须将热电偶模块安装在温度稳定的环境中简述:两种金属,每一种金属随温度变化是不同的,出现温差--由俩金属构成的回路就会有电流经过,因此两端形成热电动势。

王阿妹小天才的博客 2589

Java正则表达式中,group()、group(i)、groupCount()含义详解

今天在使用正则匹配的过程中,有如下这样几个函数: 没有使用过,也没有了解过,抱着一颗求知的心,看了看相关的博客,有那么一点理解,但不是完全消化,就多查找了相关知识点做了一个整合,希望能帮到一样有疑惑的你们。奥利给! 想要弄清这几个方法,首先要弄清Java正则表达式中的捕获组的概念。 捕获组 捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建。 例如,正则表达式 (sm...

weixin_44270855的博客 3682

matlab 点云学习目录【2026最新版】

matlab 点云学习目录。博客长期更新,本文最近更新时间为:2026年6月15日。

点云侠的博客 3万+

一文搞懂数据标注

数据标注即通过分类、画框、标注、注释等,对图片、语音、文本等数据进行处理,标记对象的特征,以作为机器学习基础素材的过程。简言之,就是需要给数据做好标注,这样机器就能知道学习哪些内容。

女王の专属领地 9933

java正则表达式之group()

在java中使用正则表达式返回符合正则表达式的字符串就要用到group(),group中记录了所有符合指定表达式的字符串,下面我通过一段代码讲解如何使用group public static void main(String[] args) {    Pattern p = Pattern.compile("(//d+,)(//d+)");         String s = "123,45

coostone123的专栏 1万+

手把手教你学Simulink——基于Simulink的全双工无线通信仿真建模示例

目录手把手教你学Simulink——基于Simulink的全双工无线通信仿真建模示例一、背景介绍二、所需工具和环境三、步骤详解步骤1:创建Simulink模型步骤2:设计输入信号步骤3:添加调制模块步骤4:添加自干扰消除模块步骤5:添加AWGN信道步骤6:添加接收端处理步骤7:添加解调模块步骤8:计算误码率(BER)步骤9:添加显示模块步骤10:设置仿真参数步骤11:运行仿真并分析结果四、总结 全双工(Full-Duplex)无线通信技术允许在同一频段上同时进行数据的发送和接收,这与传统的半双工(Half-

MHD0815的博客 180

java正则表达式:什么是分组group()

帮助   import java.util.*;import java.util.regex.Matcher;import java.util.regex.Pattern; public class Fenzhu ...{     public static void main(String[] args)     ...{             Pattern p = Patt

静心编程-java-php-jsp-数据库-网站-我们一起成长 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java正则表达式group()

import java.util.regex.Matcher; import java.util.regex.Pattern; /** * group()返回由以前匹配操作所匹配的输入子序列 * group(int group)返回在以前匹配操作期间由给定组捕获的输入子序列 * */ public class RegexDemo { public static void main(String[] args) { String string = "12aa34 34bb45 55c66";

一壶相思酒,醉卧忆佳人 377

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

matcher.group() 的基本使用,matcher分解系列(一)

matcher.group() 的基本使用,matcher分解系列(一) 使用Matcher类关键的“组” matcher.group() 是matcher中关键在正则表达式中 ()定义了一个组,group(0)就是指的整个串,group(1)指的是第一个括号里的东西,group(2)指的第二个括号里的东西。 以此类推 新的改变 public static void main(String[] args) { // TODO Auto-generated method stub

chensijum的博客 2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java正则表达式group()

java使用正则表达式我们都要使用group()来返回正则表达式中匹配的字符串。在创建Pattern对象后,在其中编译指定的表达式。然后调用Matcher方法在输入的字符串中匹配指定的表达式。使用group(),一定要先记得使用find()方法。 public static void main(String[] args) { // TODO Auto-generated method

立志迈入编程大门的追梦青年~ 299

java group方法_Java中的Matcher group()方法与示例

java.util.regex.Matcher类表示执行各种匹配操作的引擎。该类没有构造函数,可以使用matches()类java.util.regex.Pattern的方法创建/获取该类的对象。这个(Matcher)类的group()方法在上一次匹配期间返回匹配的输入子序列。例子1importjava.util.regex.Matcher;importjava.util.regex.Patt...

weixin_33340674的博客 2351

正则表达式之group()

java使用正则表达式我们都要使用group()来返回正则表达式中匹配的字符串。在创建Pattern对象后,在其中编译指定的表达式。然后调用Matcher方法在输入的字符串中匹配指定的表达式。使用group(),一定要先记得使用find()方法。 测试程序: public static void main(String[] args) { // TODO Auto-generate

立志迈入编程大门的追梦青年~ 726

Java正则表达式Matcher.group()

参考链接:https://www.cnblogs.com/jiafuwei/p/6080984.html group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。 import java.util.regex.Matcher; import java.util.regex.Pattern; public cl...

取名为猫的狗的博客 3180

java matcher.group_详解正则表达式Matcher类中group方法

前言同事把一个excel表给我,里面的数据大概有几千的样子吧。自己需要把里面的数据一个一个拿出来做一个http请求,对得到的结果进行过滤,然后再写到上面去。这是就涉及到用脚本来进行操作了,于是自己搞了一个Java的脚本出来,里面涉及到一些正则表达式,自己虽然说会,但是一直对Matcher类中的group方法 不太了解。网上的博客也没有写的特别清楚,于是有了此文。0|1Pattern 和 Match...

weixin_28289089的博客 1546

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

java中正则匹配 group是针对()来说的,因为你匹配到的结果是一组,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。代码:package cn.mingyuan.regexp.singlecharacter;import java.util.regex.Matcher;import java.util.regex.Patte...

weixin_29149259的博客 2293

java 正则表达式 matcher.group_Matcher.group()方法在Java正则表达式中的作用

方法java.time.Matcher.group()用于在输入序列字符串中查找与所需模式匹配的子序列。此方法返回与先前匹配项匹配的子序列,该匹配项甚至可以为空。给出了一个用Java正则表达式演示方法Matcher.group()的程序,如下所示:示例importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclass...

weixin_35034088的博客 896

Java正则表达式组group()的用法

在Java中使用正则表达式返回符合正则表达式的字符串就要用到group(),group中记录了所有符合指定表达式的字符串。本文通过一段代码讲解如何使用group()。public static void main(String[] args) { Pattern p = Pattern.compile("(\\d+,)(\\d+)"); String s = "123,456-34,345";

ling913的专栏 7200
上一篇: 深入学习Heritrix---解析Frontier(链接工厂)
下一篇: java常见错误以及可能原因
Java2King
博客等级 码龄18年 221粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值