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

如何在Notepad++中删除仅出现一次的flag_abc=xxxxxxxx行

实现条件删除的解决方案

纯单条正则表达式无法直接完成这个需求——因为正则本身不具备全局统计字符串出现次数的能力,但可以结合Notepad++的原生功能,通过多步操作实现你的目标,具体步骤如下:

步骤1:标记所有flag_abc=行并提取数字

  1. 打开目标文件,按Ctrl+F调出搜索框,切换到标记标签
  2. 输入正则表达式:flag_abc=(\d{8})
  3. 勾选「标记行」和「正则表达式」选项,点击「全部标记」——所有包含flag_abc=的行都会被加上书签

步骤2:筛选出仅出现一次的8位数字

  1. 点击顶部菜单「搜索」→「书签」→「复制书签行」,将所有标记的行粘贴到新的空白标签页
  2. 在新标签页中提取纯数字:
    • 按Ctrl+H调出替换框,输入搜索正则:.*flag_abc=(\d{8}).*
    • 替换内容填:$1
    • 勾选「正则表达式」,点击「全部替换」——现在每行只剩一个8位数字
  3. 排序并筛选唯一数字:
    • 全选内容(Ctrl+A),点击「编辑」→「行操作」→「排序行(按字典序递增)」
    • 再次打开替换框,搜索正则:^(\d{8})\r?\n\1$,替换为:$1\n$1,重复点击「全部替换」直到没有匹配项
    • 此时剩下的没有重复的数字,就是仅在flag_abc=行出现过的目标数字,把这些数字复制出来

步骤3:删除对应行

回到原文件,按Ctrl+H调出替换框:

  • 搜索正则:^.*flag_abc=(这里填你复制的数字,用|分隔,比如10000001|10000003).*\r?\n
  • 替换内容留空
  • 勾选「正则表达式」,点击「全部替换」

这样就会删除所有flag_abc=后数字仅出现一次的行,保留数字在其他位置也存在的行。

内容的提问来源于stack exchange,提问作者Brian Maluszczak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:52:41