使用replace()取代了太多内容

Arm*_*let 5 javascript regex replace

我更换tg时候t后面没有字母p使用这行代码:

"tpto".replace(/(t)[^p]/g, "g");
Run Code Online (Sandbox Code Playgroud)

然而,结果是tpg,我期待tpgo.由于我不知道哪一封信会跟着t我,所以我需要一些动态但我不知道该做什么,有什么想法吗?

fal*_*tru 10

你可以使用负前瞻断言:

"tpto".replace(/t(?!p)/g, "g");
// => "tpgo"
Run Code Online (Sandbox Code Playgroud)
  • /t(?!p)/:t只有在(负)跟随(前瞻)后才会匹配p.