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

如何在Notepad++中使用正则表达式提取指定字符串部分并删除多余内容

如何在Notepad++中使用正则表达式提取指定字符串部分并删除多余内容

嗨,我看你已经在尝试用正则解决这个问题了,思路是对的!不过目前你用的^.*(?=..(CAD))只适配了第一个带CAD的行,没法处理其他没有CAD的行,咱们来调整成通用的方法,轻松搞定所有行:

先明确需求:

你需要把每行中.(版本号)的部分删除,只保留前面的Collection-ID.Package-name:
原内容示例:

DGL1PLAN_PUT_PFC.FCA#FKS.(CAD17_2013-01-30-21.35.29)
DSN8CC91.DSN8CLTC.(2015-01-14-16.33.06.616783)
DSNAOCLI.DSNCLICS.(UQ40167)
DSNJAR.DSNX9DIJ.(UK81051)

目标内容:

DGL1PLAN_PUT_PFC.FCA#FKS
DSN8CC91.DSN8CLTC
DSNAOCLI.DSNCLICS
DSNJAR.DSNX9DIJ

具体操作步骤(Notepad++中):

  1. 打开你的目标文件,按下Ctrl+H打开替换对话框。
  2. 在「查找模式」里选择「正则表达式」(默认的「普通」模式要换掉)。
  3. 在「查找内容」输入框中填入:\.\(.*\)$
    给你拆解下这个正则的含义:
    • \.:匹配实际的点号(正则里.是通配符,必须加反斜杠转义才能匹配真实的点)
    • \(:匹配实际的左括号(同理,括号在正则里有特殊含义,需要转义)
    • .*:匹配括号里的所有内容(不管版本号是日期、代码还是其他格式)
    • $:匹配行的结尾,确保我们只删除每行最末尾的这个.(版本号)部分
  4. 在「替换为」输入框里留空(什么都不用写)。
  5. 点击「全部替换」,所有行的多余部分就会被一次性删除啦!

另一种可选的捕获组方式:

如果你更习惯用捕获想要保留内容的思路,也可以这么操作:

  • 查找内容填:^(.+)\.\(.*\)$
  • 替换为填:\1
    这个正则是把每行开头到.(之前的所有内容捕获到第1组,然后替换的时候只保留这个组的内容,效果和上面完全一样。

备注:内容来源于stack exchange,提问作者Grant Hood

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 15:23:14