You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Notepad++正则表达式标记指定分隔行前的最后非空行?

Notepad++正则表达式解决方案

原正则的问题点

  1. 匹配规则过严:^.+\S.+要求行内必须包含非空白字符且前后还有其他内容,像示例中的Q1这种仅含简单内容的非空行无法被匹配,规则限制太死。
  2. 未处理分隔行前的空行:示例里分隔行前存在空行,原正则没考虑跳过这些空行,导致无法定位到真正的目标行。
  3. 分隔行匹配错误:原正则写的^/{23}/多了一个末尾的/,实际分隔行是23个连续的/,应该匹配^/{23}$。

修正后的正则表达式

^(?!\s*$).+(?=(?:\R\s*)*\R/{23}$)

使用说明

  1. 在Notepad++中打开查找替换窗口(快捷键Ctrl+H)。
  2. 切换到正则表达式模式,无需勾选「匹配换行符」(这里用\R匹配任意换行符)。
  3. 将上述正则粘贴到「查找目标」框中,即可选中所有符合要求的行。

正则逻辑解释

  • ^(?!\s*$):过滤掉空行(包括全是空白字符的行),确保只匹配非空行。
  • .+:匹配当前非空行的所有内容。
  • (?=(?:\R\s*)*\R/{23}$):正向预查,确保当前行之后,经过任意数量的空行((?:\R\s*)*)后,紧跟着一行是23个/的分隔行。

内容的提问来源于stack exchange,提问作者Pubg Mobile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:05:35