【问题标题】:Using replace() replaces too much content使用 replace() 替换了太多内容
【发布时间】:2015-09-14 20:46:41
【问题描述】:

t 后面没有字母p 使用这行代码时,我将t 替换为g

"tpto".replace(/(t)[^p]/g, "g");

但是,结果是tpg,而我期待的是tpgo。因为我不知道t 后面会跟哪个字母,所以我需要一些动态的东西,但我不知道该怎么做,有什么想法吗?

【问题讨论】:

    标签: javascript regex replace


    【解决方案1】:

    你可以使用negative lookahead assertion:

    "tpto".replace(/t(?!p)/g, "g");
    // => "tpgo"
    
    • /t(?!p)/t 仅当它不是(负数)后跟(前瞻)p 时才会匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 2017-09-28
      相关资源
      最近更新 更多