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

VS Code正则替换问题:将[[x|x]]批量替换为[[x]]

VS Code 批量处理双括号内的搜索替换

问题根源

你之前用的\[\[.*\|(.*)\]\]是贪婪匹配,.*会尽可能匹配更多内容,导致从第一个[[开始一直匹配到最后一个]],把整段内容都替换了。而锚定正则^\[\[.*\|(.*)\]\]$要求整行只有单个[[...|...]]结构,自然匹配不到包含多个实例的行。

正确正则方案

  • 搜索正则:\[\[([^\|]+)\|([^\|]+)\]\]
    核心是用[^\|]+替代.*,[^\|]表示匹配非竖线的任意字符,这样只会匹配单个[[...|...]]结构内的内容,不会跨实例匹配。
  • 替换内容:[[$1]]
    (如果需要保留竖线右侧的内容,替换为[[$2]]即可)

操作步骤

  1. 打开VS Code的搜索替换面板(快捷键Ctrl+H)
  2. 点击面板右上角的.*按钮,开启正则匹配模式
  3. 在搜索框输入上述正则表达式
  4. 在替换框输入[[$1]]
  5. 点击「替换全部」,即可批量处理所有目标实例

效果示例

原文本:

[[123|123]] and [[4567|4567]], also [[89|89]].

替换后:

[[123]] and [[4567]], also [[89]].

内容的提问来源于stack exchange,提问作者Havoc's Call

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:52:42