推荐用 ^\d+\s+ 删除行首数字序号,它能匹配空格、tab等分隔符;若仅处理带点编号则用 ^\d+\.\s;删前需统一缩进为空格,避免错乱;保留编号对齐可用捕获组^(\d+)\.\s替换为\1.并补空格。

删行首数字序号:用 ^\d+\.\s* 或 ^\d+\s+ 匹配最稳
直接删掉像 1. 、2 、15\t 这类行首编号,关键不是匹配“数字”,而是锚定“行首 + 数字 + 分隔符”。^\d+\.\s* 适合带点的编号(如 Markdown 列表),^\d+\s+ 更通用,能覆盖空格、Tab、多个空格等分隔情况。
常见错误是只写 \d+ ——它会把行中所有数字都删掉,比如 line 123 content 变成 line content;或者漏掉 ^,导致匹配到中间的序号字段。
- 打开
Ctrl+H(Windows/Linux)或Cmd+H(macOS) - 勾选右下角
.*启用正则模式 - 查找框填:
^\d+\s+(推荐先试这个)或^\d+\.\s*(仅限带点场景) - 替换框留空,点
Replace All
删完缩进错乱?说明原序号嵌在 Tab/空格里,先统一缩进再操作
如果删完发现某些行突然顶到最左、某些还保留缩进,大概率是原文件混用了 Tab 和空格——比如 \t1. item 或 1. item(全角空格)。^\d+\s+ 里的 \s 虽能匹配 Tab 和空格,但删除后可能暴露出不一致的缩进层级。
安全做法是:删序号前,先执行 Convert Indentation to Spaces(菜单 → Indentation → Convert Indentation to Spaces),让所有缩进归一为普通空格。这样 ^\d+\s+ 才能干净切掉“数字+其后紧邻空白”,不牵连真正用于对齐的缩进。
别跳这步——尤其处理从 Word、PDF 复制过来的文本,或老项目遗留的混合缩进文件。
保留编号但对齐?用捕获组把数字抽出来重排
如果目标不是删除,而是把 1. 、10. 、100. 对齐成等宽格式(比如都占 3 位: 1. 、 10. 、100. ),就得用捕获组+反向引用。
查找:^(\d+)\.\s*,替换: \1. (注意前面两个空格),然后手动微调空格数;更灵活的是用 Sublime 的列编辑:先 Find All 选中所有 ^\d+\.,按 Ctrl+Shift+L 拆成多光标,再用方向键和空格统一补位。
注意:\1 是第一组括号捕获的内容,不能写成 $1(Sublime 用 Python re 引擎,只认 \1);如果编号含括号或点以外符号(如 1)、[2]),正则要相应改成 ^(\d+)[)\]]\s* 等。
删完扫一眼行号和缩进突变点,比事后调试快得多
正则删序号看着简单,但真实文本常有边界 case:比如某行是 1234567890. very long line...,\d+ 会全吞;或者 // 1. comment 被误伤——因为没加 ^ 锚定,又没关 Match Case 或开 Whole Word。
删完别急着保存,快速滚动看三处:开头几行是否整齐、中间段落是否有意外缩进塌陷、结尾是否多出空行(\s+ 可能吃掉末尾换行符)。行号栏若出现跳跃式递增,说明某几行被合并了——八成是原序号后没空白,\s+ 匹配失败,导致 ^\d+ 把后面文字也拽走了。











