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

Notepad++多行含$字符子串的批量匹配替换正则方案

最简正则表达式实现含$子串的全局替换需求

需求说明

匹配代码中所有包含$的子串,统一替换为TEST,具体规则:

  • 子串可位于引号""内或外部
  • $不一定是子串的起始字符
  • 引号外的子串以=、;或,作为分隔边界

原始代码

CACCALLPLC: CALLPLCNAME="${EPolicyCacName}", MCB=$BANDWIDTH;
CACPLCSET: CACPLCSETNAME="${BandPolicyName}",ACPLCSETMODE=SHARE,ALLPLCNAME="${EPolicyCacName}";
SIPAN: ANNAME="E_$BackupCorporateName", LETYPE=P-CSCF, ADDRNAME="$ADDRNAME";

预期结果

CACCALLPLC: CALLPLCNAME="TEST", MCB=TEST;
CACPLCSET: CACPLCSETNAME="TEST",ACPLCSETMODE=SHARE,ALLPLCNAME="TEST";
SIPAN: ANNAME="TEST", LETYPE=P-CSCF, ADDRNAME="TEST";

最简正则表达式及替换方案

正则表达式

(?<==|")\S*?\$\S*?(?="|;|,|$)

替换规则

将所有匹配到的内容替换为TEST,需开启全局匹配模式(即g flag)

正则逻辑解释

  1. (?<==|"):正向预查,锁定子串的起始边界(前导为=或")
  2. \S*?\$\S*?:匹配包含$的非空白字符序列,*?采用非贪婪匹配,避免跨边界抓取内容
  3. (?="|;|,|$):正向预查,锁定子串的结束边界(后续为"、;、,或行尾)

验证效果

用上述正则对原始代码执行全局替换后,输出结果完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:52:10