正则表达式 - 删除类似的字符串

时间:2016-05-28 11:54:23

标签: regex notepad++

我有这些行

http://dawn-ofthe-dead.blogspot.com/2008/02/amenra-hitch.html
http://dawn-ofthe-dead.blogspot.com/2008/0...enra-hitch.html
https://yadi.sk/mail/?hash=R041opeqcsTT3kmODt3qXcIAmcxOx1P78E1PqDOqJR8%3D
https://yadi.sk/mail/?hash=R041opeqcsTT3kmO...78E1PqDOqJR8%3D
https://mail.yandex.ru/message_part/2011%20-%20Amenra%20%26%20Oathbreaker%20(Split).rar?name=2011%20-%20Amenra%20%26%20Oathbreaker%20(Split).rar&hid=1.3&ids=2440000004701735584
https://mail.yandex.ru/message_part/2011%20..000004701735584
http://mediaboom.org/mp3/127749-amenra-mass-i-prayer-i-vi-2003.html
http://mediaboom.org/mp3/127749-amenra-mas....-i-vi-2003.html

我想用

删除字符串
..
...
....

因为几乎是重复的字符串。

我想要这个输出

http://dawn-ofthe-dead.blogspot.com/2008/02/amenra-hitch.html
https://yadi.sk/mail/?hash=R041opeqcsTT3kmODt3qXcIAmcxOx1P78E1PqDOqJR8%3D
https://mail.yandex.ru/message_part/2011%20-%20Amenra%20%26%20Oathbreaker%20(Split).rar?name=2011%20-%20Amenra%20%26%20Oathbreaker%20(Split).rar&hid=1.3&ids=2440000004701735584
http://mediaboom.org/mp3/127749-amenra-mass-i-prayer-i-vi-2003.html

如何使用正则表达式? (我正在使用Notepad ++)

2 个答案:

答案 0 :(得分:4)

要删除所有包含2个或更多点的行,我会这样做:

  • 控制 + ħ
  • 找到:^.*\.\.+.*\R?
  • 替换为:NOTHING
  • 全部替换

答案 1 :(得分:2)

在这种情况下,您想要删除的行总是在没有点的行之后,您可以使用以下内容(确保在Notepad ++替换对话框中选中正则表达式):

搜索模式:^(.{25,})(.*)$\R\1.*

替换模式:$1$2

这是在一行中检查25个字符,在下一行中重复 - 并删除第二行。当然,你可以用你觉得合适的数字替换25,以避免误报。