javascript - 使用 replace() 替换过多的内容

标签 javascript regex replace

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

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

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

最佳答案

您可以使用 negative lookahead assertion :

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

关于javascript - 使用 replace() 替换过多的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31097881/

相关文章:

regex - 正则表达式从 HTML 中提取所有文件

javascript - 无效状态错误 : DOM Exception 11 and Uncaught TypeError: Cannot call method 'submit' of null

javascript - Google map 控件面板尺寸显示错误

javascript - jQuery/JavaScript 复制函数出现错误

javascript - 从 Angular 4 应用程序接收时表示接收空请求正文

java - 使用匹配器/模式从 http 文档中提取字符串

python - 正则表达式意外结束

Java replaceAll : Cannot replace string with backslash

python - 从 fileS 的单词中创建一个列表,并用该列表对照 python 中的文件进行检查

Javascript一次替换多个字符