Java正则分组:高效捕获与引用技巧
一、分组基础概念
Java正则表达式中,分组是通过小括号()
实现的语法结构,用于将子表达式组合为逻辑单元,主要作用包括:
- 逻辑组合:对多个字符或元字符进行整体操作(如重复匹配)
- 捕获内容:提取匹配的子字符串(如提取日期中的年、月、日)
- 反向引用:在表达式内部或外部复用已匹配的内容
二、分组类型与语法
1. 普通捕获分组
- 语法:
(子表达式)
- 编号规则:从左到右,按左括号出现顺序从1开始编号,
group(0)
表示整个匹配结果 - 示例:
String date = "2025-06-15"; Pattern p = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})"); Matcher m = p.matcher(date); if (m.find()) {System.out.println("年: " + m.group(1)); // 输出 2025System.out.