Sublime Text如何运用正则表达式进行文本去重操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1099个文字,预计阅读时间需要5分钟。
Sublime Text 本身没有删除重复行的原生命令,所谓的去重功能需要依赖排序、正则或正则预查、替换等操作来实现,否则容易出现漏删、误删、卡死等问题。
Sort Lines: Unique 是最省事的整行去重方式(Sublime 4.4+)
如果你用的是 Sublime Text 4.4 或更新版本(比如当前 4.4.1),直接全选文本后调出命令面板 Ctrl+Shift+P,输入 Sort Lines: Unique 回车即可——它内部等价于 sort -u,自动排序 + 合并相邻重复,保留每组首次出现的行。
这个命令不依赖正则、不卡顿、不报错,但有两个硬限制:
- 它只处理「整行完全一致」的重复,哪怕末尾多一个空格或换行符不统一(
\r\nvs\n),就判为不同行 - 原始顺序会被打乱,代码、日志、带时间戳的文本慎用
保序去重必须用 ^(.*$)\n(?=.*^\1$) 配合 . matches newline
想删掉重复行但保留第一处(比如清理 import 列表或配置项),就得用这个正则。它靠向后预查((?=.*^\1$))判断某行是否在后续还会出现,只删那些「后面还有相同行」的实例。
本文共计1099个文字,预计阅读时间需要5分钟。
Sublime Text 本身没有删除重复行的原生命令,所谓的去重功能需要依赖排序、正则或正则预查、替换等操作来实现,否则容易出现漏删、误删、卡死等问题。
Sort Lines: Unique 是最省事的整行去重方式(Sublime 4.4+)
如果你用的是 Sublime Text 4.4 或更新版本(比如当前 4.4.1),直接全选文本后调出命令面板 Ctrl+Shift+P,输入 Sort Lines: Unique 回车即可——它内部等价于 sort -u,自动排序 + 合并相邻重复,保留每组首次出现的行。
这个命令不依赖正则、不卡顿、不报错,但有两个硬限制:
- 它只处理「整行完全一致」的重复,哪怕末尾多一个空格或换行符不统一(
\r\nvs\n),就判为不同行 - 原始顺序会被打乱,代码、日志、带时间戳的文本慎用
保序去重必须用 ^(.*$)\n(?=.*^\1$) 配合 . matches newline
想删掉重复行但保留第一处(比如清理 import 列表或配置项),就得用这个正则。它靠向后预查((?=.*^\1$))判断某行是否在后续还会出现,只删那些「后面还有相同行」的实例。

