第十三课:匹配子组

当您在处理复杂数据时,往往需要从一段文本中提取多层次的信息,这时就会用到嵌套捕获组。所谓嵌套组,是指在一个捕获组中再包含一个或多个子捕获组。

正则表达式中,所有捕获组的结果会根据左括号 ( 的出现顺序编号。也就是说,越早出现的左括号,其对应的组编号就越小。这种机制适用于嵌套结构。

以上一课中提取图像文件名的示例为例,如果文件名中包含连续编号,您可以使用如下表达式:

^(IMG(\d+))\.png$

这个模式的含义是:

  • IMG(\d+):外层括号捕获整个文件名,如 IMG123;内层括号则单独捕获编号 123
  • \.png:匹配扩展名 .png,其中的点号需要使用反斜杠 \ 进行转义。

这样,您就能同时获得完整文件名和文件编号这两个有用的信息。

嵌套组的优势在于,您可以精准地分层提取需要的内容,而无需多次匹配。

接下来请尝试针对以下字符串,编写一个正则表达式,既能匹配完整的日期格式(例如 2025-06-01),又能单独提取出其中的年份部分。

练习十三:匹配子组

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