如何找出序列中缺失的数字

如何找出序列中缺失的数字

我有一个圣经文件,每行开头都有一个经文编号(例如1, 2, 3, 4)等等。但在某些章节中,有些经文被跳过或不存在,例如10, 11, 12, 14等。

使用 Notepad++,是否可以借助正则表达式找出缺失的诗句编号?

编辑:查找的序列范围是第 1 行到第 176 行,因为它是圣经中最长的章节,即诗篇第 119 章。

答案1

对于一次性解决方案,请尝试以下操作:

^(\d*0)\..*\n(?!\d*1\.|(?!\d))|
^(\d*1)\..*\n(?!\d*2\.|(?!\d))|
^(\d*2)\..*\n(?!\d*3\.|(?!\d))|
^(\d*3)\..*\n(?!\d*4\.|(?!\d))|
^(\d*4)\..*\n(?!\d*5\.|(?!\d))|
^(\d*5)\..*\n(?!\d*6\.|(?!\d))|
^(\d*6)\..*\n(?!\d*7\.|(?!\d))|
^(\d*7)\..*\n(?!\d*8\.|(?!\d))|
^(\d*8)\..*\n(?!\d*9\.|(?!\d))|
^(\d*9)\..*\n(?!\d*0\.|(?!\d))

这不是很好,但是如果你有一行以 结尾的数字6.,那么它可以确保下一行必须以 开头7.(因此16.查找下一行以 开头17.,然后111.查找112.)。

您可以在此处查看示例:https://regex101.com/r/hO3yQ1/3

相关内容