第十二课:匹配组

正则表达式不仅可以用于匹配文本,还具备提取关键信息的能力,方便您后续对数据进行处理。这一功能依赖于使用 圆括号 ( ),通过它们可以定义并捕获特定的子模式。当您在表达式中使用括号包裹某段内容时,匹配到的部分就会被捕获为一个“分组”。在实际开发中,您可以利用这个机制提取如电话号码、电子邮件地址、文件名等内容。

例如,假设您正在使用一款命令行工具列出您在云端保存的所有图像文件名。如果您希望提取每个 PNG 文件的完整文件名,您可以使用如下模式:

^(IMG\d+\.png)$

这会将以 "IMG" 开头、后跟一个或多个数字,并以 ".png" 结尾的文件名整体捕获下来。

但如果您仅希望获取不含扩展名的部分(也就是句点 . 之前的那一段),您可以稍作调整:

^(IMG\d+)\.png$

在这个表达式中,只有 IMG 开头至 . 前的部分被括号包裹并捕获;而 \.png 是匹配文件扩展名的部分,未被包含在捕获组内。

请您尝试使用这种方式来编写一个正则表达式,提取以下 PDF 文件名中不包含扩展名的部分。

练习十二:匹配组

任务 文本 提取组
解决上述问题后,即可继续下一个题目,或 查看答案