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

如何用正则表达式分组替换VB.NET注释中重复出现的指定单词

VB.NET正则替换注释中所有目标单词的解决方案

问题分析

你当前的正则(^\s*'.*)day(.*)采用贪婪匹配逻辑,(^\s*'.*)会直接匹配到行内最后一个day之前的所有内容,因此只能替换每行注释里的最后一个day。要实现所有匹配项的替换,需要调整正则逻辑并开启全局替换模式。

解决方案

使用正向断言+单词边界+全局替换的正则组合,确保仅替换注释行内的所有独立day单词:

  1. 正则查找表达式:

    (?<=^\s*'.*)\bday\b
    

    各部分说明:

    • (?<=^\s*'.*):正向零宽断言,限定匹配位置必须在「任意空格开头+单引号」之后的注释内容区域内
    • \bday\b:匹配独立的day单词(\b是单词边界,避免误替换daylight这类包含day的复合词)
  2. 替换内容:

    night
    
  3. 必须开启的正则选项:

    • 开启**Multiline(多行)**模式:让^匹配每行的开头,而非整个文本的开头
    • 开启**Global(全局)**模式:让正则在每行注释内查找所有匹配的day,逐一替换

效果验证

原注释行:

'*** This day is the day of all days
     '*** This day is the day of all days (there are 4 spaces at the start)

替换后:

'*** This night is the night of all nights
     '*** This night is the night of all nights (there are 4 spaces at the start)

代码部分的day不会被修改,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:13:21