2023 © RegexOne
邮箱 | Twitter
当您处理复杂数据时,您可能会发现自己需要提取多层信息,这可能导致嵌套分组。通常,捕获组的结果按照其定义顺序(按左括号顺序)排列。
以上一课中捕获列表中所有图像文件的示例为例。如果每个图像文件的文件名中都有一个顺序的图片编号,则可以通过编写类似于 ^(IMG(\d+))\.png$ 的表达式(使用嵌套括号捕获数字)来提取文件名和图片编号。
嵌套分组在模式中从左到右读取,第一个捕获组是第一个括号组的内容,依此类推。
对于以下字符串,编写一个匹配并捕获完整日期以及日期年份的表达式。
任务 | 文本 | 捕获组 | |
捕获 | Jan 1987 | Jan 1987 1987 | |
捕获 | May 1969 | May 1969 1969 | |
捕获 | Aug 2011 | Aug 2011 2011 |
解决方案 | 此表达式需要捕获数据的两个部分,年份和整个日期。这需要使用嵌套捕获组,如表达式 (\w+ (\d+)) 中所示。 或者,我们可以使用 \s+ 代替空格,以捕获月份和年份之间任意数量的空白字符。 |