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

如何在Notepad++中用正则删除不含特定字符串的HTML与JSON代码

解决方法

你的原有写法失效的核心原因是:全局贪婪匹配整个文本时,捕获组的内容会被后续匹配结果不断覆盖,最终仅保留最后一次匹配的内容,所以只能输出单个结果。

根据你的使用场景,提供两种可直接落地的方案:

方案1:标记提取法(操作最简单,无正则编写成本)

直接复用你已经写好的匹配规则即可:

  1. 按下Ctrl+F调出查找窗口,切换到「标记」选项卡
  2. 查找内容输入:{[^}]*foo[^}]*}
  3. 勾选「标记匹配行」,点击「全部标记」
  4. 点击「复制标记文本」,新建文件粘贴即可直接得到符合要求的结果

方案2:一步替换法(适合需要自动化工作流的场景)

替换前先确认正则设置:勾选「正则表达式」,取消勾选「点号匹配换行符」(如果你的JSON片段跨行再勾选该选项)

  • 查找目标:(?:[\s\S]*?({[^}]*foo[^}]*}))|[\s\S]*
  • 替换为:$1\r\n\r\n
    全部替换完成后,手动删除末尾多余的空行即可,和你预期的输出格式完全一致。

注意事项

如果你的JSON内部存在转义的}字符、或者JSON嵌套结构,[^}]*的匹配规则会失效,需要根据实际JSON格式调整匹配规则,无嵌套无转义的场景下上述方案完全可用。


内容的提问来源于stack exchange,提问作者Amazon Dies In Darkness

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:18:04