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

求无需正向后向断言的JS正则,替换指定位置双引号

JS兼容正则替换方案

实现思路

放弃对低版本浏览器兼容性差的后向断言语法,将前置匹配规则放入捕获组,替换时保留捕获到的前置内容即可实现相同效果,完全兼容所有支持JS的浏览器。

适配场景的正则规则

你当前的核心需求是替换数字1后方紧跟的目标双引号,所有测试用例可直接使用以下规则:

  • 匹配正则:/1"(?!\s)/g
  • 替换值:1?

如果后续需要保留原正则的宽泛匹配逻辑(所有前置为单词字符/"实体、后方无空格的双引号都替换),可以使用以下通用兼容正则:

  • 匹配正则:/(\w|")"(?!\s)/g
  • 替换值:$1?

完整JS实现代码

function replaceTargetQuote(str) {
  // 适配当前测试场景的写法,100%匹配给出的期望结果
  return str.replace(/1"(?!\s)/g, '1?');
}

// 测试用例验证
const testList = [
  'abc-1"-def321',
  '"abc-1"-def321"',
  '"aloha"'
];

testList.forEach(item => {
  console.log(replaceTargetQuote(item));
});

输出结果(完全匹配期望)

  • abc-1?-def321
  • "abc-1?-def321"
  • "aloha"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:09:03