正则表达式匹配文件中的循环数据

时间:2017-01-15 10:21:57

标签: regex

我在文件中有数据,其中的记录如下所示

X00
X01
NNN---Loop - 1
LLL
LLL      
LLL
 .
 .
 .
LLL (99th time)
NNN---Loop - 2
LLL
LLL
LLL
LLL
NNN---Loop - 3
LLL
T01
T00

在数据中你可以看到循环就在那里。

所以这意味着

NNN--(can occur one time in one loop)
LLL--(Can occur 99 times in a loop)

此循环应至少发生一次,最大限制为n次。

前两个和最后两个记录将是静态的。

所以,我试图将这些数据与正则表达式匹配。尝试谷歌但不能为这种循环类型的数据编写这么复杂的正则表达式。

有什么建议吗?

由于

1 个答案:

答案 0 :(得分:0)

你有没有试过这个表达:

X01\nX02\n(N{3}(\nL{3}){1,99}\n){1,3}T01\nT02

解释:

  • X01\nX02\n用于您的开始常量值。
  • (N{3}(\nL{3}){1,99} if if for loop和inner values。
  • 下一个{1,3}是循环次数的范围。我用过3,你可以改变它。
  • T01\nT02表示您上次的常量值。

您可以在Regex101

中证明答案的合理性