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

如何使用正则表达式移除文本每行的前两个引号

逐行移除最靠前两个双引号的正则实现方案

需求说明

需要逐行处理文本,仅删除每行中位置最靠前的2个双引号,行内其余位置的双引号、文本、标点全部保留,处理前后样例如下:

  • 处理前文本:
"key0": "some very long text",
"key1": "some very long text",
    
  • 期望输出:
key0: "some very long text",
  key1: "some very long text",
    

此前尝试的[^"]{2}、"{2}正则无法生效,核心原因是前者匹配的是两个非引号字符,后者要求两个引号连续出现,和「匹配行首位置分散的两个引号」的目标不匹配。

可行正则方案

匹配规则

^"([^"]*)"

替换规则

$1

逻辑说明

  • ^:锚定行起始位置,确保匹配从每行开头开始,不会误改到行中间的引号
  • 第一个":匹配每行最靠前的第一个双引号,也就是第一个要移除的目标
  • ([^"]*):捕获分组,匹配两个目标引号中间的所有非引号内容(比如样例里的key0、key1),替换时这部分内容会完整保留
  • 最后一个":匹配每行靠前的第二个双引号,也就是第二个要移除的目标

使用注意

使用时需要开启正则的多行匹配模式:

  • JavaScript 正则添加m修饰符
  • Python 使用re.M/re.MULTILINE标志
  • VS Code、Sublime 等编辑器的正则搜索默认支持多行锚定,直接使用即可

这个方案只会精准移除每行最靠前的两个双引号,行内后续的所有内容都不会被改动,完全匹配预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 10:03:37