必须用^锚定行首并匹配“数字+序号标点”组合,如^\d+[.\)》、:。\t ]+,否则^\d+会残留标点或误删日期等非序号数字,且需验证匹配数、逐行检查、替换框清空,并清理残留缩进。

直接删行首数字,不能只写 \d+——它会把每行中间的时间、页码、版本号全干掉。必须用 ^ 锚定行首,再限定“数字 + 常见序号标点”这个组合,才安全。
为什么 ^\d+ 单独用会出事
看起来很干净,但实际一跑就翻车:
-
^\d+只匹配行首数字,不处理后面的.、)、》等分隔符,替换后留下一堆孤零零的标点,比如1. Hello→. Hello - 如果某行是
2026-07-22 日志开始,^\d+会匹配到2026,删完变成-07-22 日志开始 - 没加
\s的话,遇到3) 说明或4 (全角空格)内容就只删数字,空格和括号原样留下,对齐全乱
真正能落地的正则写法
按你文本里实际出现的序号样式选,别硬套模板:
- 英文常见:用
^\d+[.\)\s]+(匹配1.、2)、3) - 中英文混用:用
^\d+[.\)\》、:。\s]+(覆盖中文顿号、冒号、句号、全角空格) - 带 Tab 缩进的:把
\s换成[ \t],写成^\d+[.\)\》、:。\t ]+,避免\s在某些编码下漏掉 Tab - 如果序号后紧跟中文(如
1、第一部分),必须显式加上全角顿号、,否则不匹配
操作前必做的三件事
跳过任何一步,都可能批量误删:
- 先点「全部计数」,看右下角数字是否和你预期的序号行数一致;远多或远少,说明正则太宽或太窄
- 按
F3逐条走一遍,重点看第一行、空行、以及含数字但不是序号的行(比如line 123)是否被高亮 - 「替换为」框必须完全空白——连一个空格、一个
\r都不能有;输错一个空格,结果就是每行开头多一个空格,还得再跑一遍清理
删完发现对齐还是歪?接着补一刀
序号删了,但后面缩进不统一(有的空格、有的 Tab、有的混合),后续转 Markdown 或粘贴进代码时容易错位:
- 删完立刻执行一次
^\s+替换为空,把行首所有空白清掉(包括残留空格和 Tab) - 如果想保留一个标准缩进(比如统一用 2 个空格),就把
^\s+替换为(两个空格) - 别用
^.{N}这种固定长度方案——序号后空格数不一致时,它要么删不够,要么删过头,尤其在含中文或全角字符的文本里极不可靠
最易被忽略的是标点兼容性:Notepad++ 对全角字符(如《》、,。)不自动识别,必须手动写进字符组;还有,旧版不支持 \p{Han} 这类 Unicode 属性,别试。











