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

时间:2016-08-11 21:01:11

标签: regex repeat

我正在编辑一些孩子作为学校代表制作的epub。在此文件中,通常存在多个复制/粘贴错误。所以我已将整个内容导出到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>

这里和网上有一些关于寻找重复的例子,但是他们总是期待,而我需要向后找到重复(或者至少对我来说是这样)。

1 个答案:

答案 0 :(得分:3)

我假设标签<p>不存在,因为在这种情况下,语句没有重复完成。

所以,如果文本只是:

  

这是一个不应该包含任何重复的整段。那不应该包含任何重复。

然后你可以像这样使用某些东西:

(.+)\1

<强> Regex demo

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

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