正则表达式:删除彼此相邻的重复行

时间:2019-01-08 04:35:17

标签: python regex

我已经从Youtube提取了一些抄送,但我坚持使用下面的值,但我不知道如何处理。我擅长替换字符串和其他东西,但是当事情变得严重的时候我真的很糟糕:(

 we
 all
 have
 a
 unique
 perspective
 on
 the
 we all have a unique perspective on the

 we all have a unique perspective on the
 world
 around
 us
 and
 believe
 it
 or
 not
 world around us and believe it or not

 world around us and believe it or not

应替换为:

we all have a unique perspective on the
world around us and believe it or not

1 个答案:

答案 0 :(得分:1)

使用此正则表达式,您可以删除仅包含一个单词的所有行,如果有包含多个单词并且精确重复的行,它们将被替换为单个行,

\w+\s*\n|([\w ]+)\n*(\1\n+)*

此处交替\w+\s*\n的第一部分与单个单词行匹配,并替换为空字符串,第二交替([\w ]+)\n*(\1\n+)*捕获了group1中的一行,然后(\1\n+)*消耗了所有重复的行,最后被group2取代,该group2是同一行重复多次。

Demo