拆除彼此紧挨的线

时间:2018-08-27 17:32:20

标签: regex string text scripting

我目前有一个URL列表,想统计文件中某些URL出现了多少次。但是在此之前,我要删除所有紧挨着的网址,而不会被另一个不相同的字符串打断,但让一个网址1保留下来。我坚称这可能带有正则表达式。

例如,这发生在结果文件中。

www.website1.com
www.website2.com
www.website3.com
www.website3.com !
www.website3.com !
www.website3.com !
www.website1.com
www.website3.com
www.website2.com

最终结果应如下所示:

www.website1.com
www.website2.com
www.website3.com
www.website1.com
www.website3.com
www.website2.com

我想删除4个第一个“ website3” URL结果中的3个(我在后面加上了!。第五个“ website3”结果需要保留,因为该URL被中断了。希望有人知道某个正则表达式或脚本用于这个。

1 个答案:

答案 0 :(得分:0)

如果您想避免使用多余的!突出显示要删除的网址,则可以使用它来删除“下一个重复项”

^(.*)(?:\n(?!\1$)|\z)

说明:

^    # begin of line
(.*) # any character but new line; store on first capturin group ()
(?:  # group of options (separater by '|')
     # option 1) new line not followed by the previous match on capturing group 1
    \n(?!\1$)
     # option 2) end of string
  | \z
)

Demo