我在Notepad ++中使用以下表达式来删除重复的行:
^(.*)(\r?\n\1)+$
问题是:
是否有解决方案(最好是正则表达式或宏)来删除包含空格的文本中的重复行,并且这些行是不连续的?
答案 0 :(得分:1)
由于没有人感兴趣,我会发布我认为你需要的东西。
删除包含空格且非连续
的文本中的重复行
我假设你有文字,比如说重复的行My Line One and some text
和My Line Two and more text
:
My Line One and some text
My Line One and some text
My Line Two and more text
My Line One and some text
My Line Two and more text
这些重复的行不是全部连续的(只有前两个)。
因此,您可以通过运行此搜索删除重复行并替换:
^(.+)\r?\n(?=[\s\S]*?^\1$)
替换为空字符串。
正则表达式注意:默认情况下,^
和$
被视为行开始/结束锚点,因此我们只匹配一行并使用^(.+)$
捕获它。然后我们将换行符号(任何操作系统样式)与\r?\n
匹配。前瞻(?=...)
检查我们的检查线是否有任何文本([\s\S]*?
)与相同的内容(^\1$
\1
后面是public final class RequestWrapper extends HttpServletRequestWrapper
的反向引用捕获的行文本。)