当您在处理复杂数据时,往往需要从一段文本中提取多层次的信息,这时就会用到嵌套捕获组。所谓嵌套组,是指在一个捕获组中再包含一个或多个子捕获组。
正则表达式中,所有捕获组的结果会根据左括号 (
的出现顺序编号。也就是说,越早出现的左括号,其对应的组编号就越小。这种机制适用于嵌套结构。
以上一课中提取图像文件名的示例为例,如果文件名中包含连续编号,您可以使用如下表达式:
^(IMG(\d+))\.png$
这个模式的含义是:
IMG(\d+)
:外层括号捕获整个文件名,如 IMG123
;内层括号则单独捕获编号 123
。\.png
:匹配扩展名 .png
,其中的点号需要使用反斜杠 \
进行转义。这样,您就能同时获得完整文件名和文件编号这两个有用的信息。
嵌套组的优势在于,您可以精准地分层提取需要的内容,而无需多次匹配。
接下来请尝试针对以下字符串,编写一个正则表达式,既能匹配完整的日期格式(例如 2025-06-01
),又能单独提取出其中的年份部分。