行号为常量和某行内容的值的匹配行(可变多行文本中)

Matching line where the line number is the sum of constants and the value of a certain line content (in a variable multiline text)

我在下面有这个文件,它是 3 个食谱。每个配方包含固定数量的 header 行和可变数量的成分行(组合)。 header 的最后一行给出了组合物中成分的数量。此行是 always header 的第 16 行(在链接的屏幕截图中,这些是第 16、38、58 行)。 然后是 header 第 16 行定义的行数组合。 然后每个食谱的最后一行总是0,

我需要把食谱分开,所以我需要找到最后几行,在例子中是第22、42、68行。 每个配方的行数是: 16行header+配料个数(整数[=34=第16行定义)+1行(最后的0,

screenshot of the text

我只走到这一步:

(?:.*?^0\,){1}

https://regex101.com/r/js3leQ/1

但这只能找到所有带有 0, 的行。 实际上找到 once 第三个 0, 行匹配会很好。 那已经给了我我需要的解决方案(因为第三个 0, 总是食谱的最后一行)。

要识别结束行(第 3 个零),如果您只能使用正则表达式 g 标志(没有 m),以下方法可能有效

0,(?=\n"REC|$)

https://regex101.com/r/ufXYFU/1

Update. 根据 "1", 总是在 0, 之前的评论,下面的代码应该可以工作(即使 m 标志是目前):

(?<="1",\n)0,

https://regex101.com/r/aJk5zM/1