如何使用正则表达式查找重复的短语?

how to use regex to find repeated phrases?

我正在编辑一些孩子作为学校作业制作的 epub。在这个文件中经常有多个 copy/paste 错误。所以我将整个东西导出到一个 xhtml 文件,并使用 SublimeText(如果这很重要),我需要查找 </p> 标记之前的最后 4 或 5 个单词是否已经出现在同一行中(或者更好,在相关的 <p> 标签之后)。

例如,这是我经常发现的:

<p>This is a whole paragraph that shouldn't contain any repetition. that shouldn't contain any repetition.</p>

这里和网上有一些关于查找重复的示例,但它们总是向前看,而我需要向后查找重复(或者至少在我看来是这样)。

我假设标签 <p> 不存在,因为在这种情况下语句不会以重复结束。

所以,如果文本是:

This is a whole paragraph that shouldn't contain any repetition. that shouldn't contain any repetition.

那么你可以使用这样的东西:

(.+)

Regex demo

更新:正如revo在他的评论中指出的那样,您可以利用积极的前瞻性来匹配模式

(.+)(?=<\/p>)