第12课:嵌套分组

当你处理复杂数据时,往往需要提取多层次的信息,这种情况下就会用到嵌套分组(Nested Group)。通常,捕获组的结果是按照它们在正则表达式中出现的顺序(即左括号 ( 出现的顺序)来排列的

以上一课中的示例为例:我们想要提取图像文件的文件名。如果每个图像文件名中都包含一个顺序编号,那么你可以通过一个正则表达式同时提取整个文件名和图片编号,比如: ^(IMG(\d+)).png$ 这个表达式中使用了嵌套括号,外层捕获完整文件名,内层括号专门提取编号部分。

嵌套分组会从左到右进行编号,第一个捕获组是第一个左括号括住的内容,以此类推。

现在请你为下方的字符串编写一个正则表达式,既能匹配并捕获完整的日期字符串,又能单独捕获年份部分

练习 12: 匹配嵌套组
Task Text Capture Groups  
捕获 Jan 1987 Jan 1987 1987 To be completed
捕获 May 1969 May 1969 1969 To be completed
捕获 Aug 2011 Aug 2011 2011 To be completed
提示

这个正则表达式需要捕获数据的两个部分:完整的日期和年份。这就需要使用嵌套的捕获组,比如表达式 (\w+ (\d+))。另外,我们也可以使用 \s+ 来代替空格,以匹配月份和年份之间任意数量的空白字符。

解决上面的问题以继续到, 或者可以参考答案