正则表达式(捕获组)

捕获组(Capture Group)是正则表达式中的一个功能,用于提取匹配的子字符串。其核心作用是将正则表达式中的特定部分标记为可提取的单元,便于后续处理(如赋值、替换等)

捕获组的基本语法

  • 语法‌:使用括号 () 包裹要提取的模式。

  • 示例‌:(\d+) 捕获一个或多个数字。
    捕获组的作用

  • 提取数据‌:从匹配结果中分离出关键信息。

  • 分组处理‌:对复杂模式进行分段解析。

  • 引用使用‌:在替换操作中重用捕获内容。

# 基本捕获

复制代码
Regex.Match("Rx 123:", @"Rx\s+(\d+):")
‌匹配结果‌:
	match.Groups[1].Value 返回 "123"。
‌应用场景‌:从日志中提取指令编号。

多组捕获

复制代码
Regex.Match("User: John, Age: 30", @"User:\s+(\w+),\s+Age:\s+(\d+)")
‌匹配结果‌:
	match.Groups[1].Value 返回 "John"。
	match.Groups[2].Value 返回 "30"。
‌应用场景‌:解析用户信息。

命名捕获(高级用法)

复制代码
Regex.Match("2023-10-05", @"(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})")
‌匹配结果‌:
	match.Groups["year"].Value 返回 "2023"。
	match.Groups["month"].Value 返回 "10"。
‌优势‌:通过名称引用,提高代码可读性。
  • 注意事项
    • 索引规则‌:捕获组从1开始计数(Groups[0] 是整个匹配)。
    • 非捕获组‌:使用 (?:...) 可匹配但不捕获内容(如 (?:\s+))。
    • 嵌套捕获‌:多层括号可嵌套,需按层级索引(如 Groups[1][2])。
相关推荐
云烟成雨TD1 天前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
于慨1 天前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg3213211 天前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald1 天前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川1 天前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
呆瑜nuage1 天前
MySQL表约束详解:8大核心约束实战指南
数据库·mysql
一轮弯弯的明月1 天前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming6661 天前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川1 天前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo1 天前
查看 Tomcat 的堆内存参数
java·tomcat