我在使用javascript替換函數時遇到問題。當搜索模式包含Javascript替換函數不工作? mark
"demo text?for test".replace(new RegExp("text?for", 'g'), "text for");
它的返回輸出是「用於測試的演示文本?」。
我想,我錯過了一些東西,但我不知道。
下面是我的功能我在應用程序中使用
var replaceAll = function (targetString, search, replacement) {
return targetString.replace(new RegExp(search, 'g'), replacement);
};
replaceAll("This is my favorite video https://www.youtube.com/watch?v=n3MPiLq0fKc", "video https://www.youtube.com/watch?v=n3MPiLq0fKc", "http://d-d.co/4eDED")
輸出是「這是我最喜歡的視頻https://www.youtube.com/watch?v=n3MPiLq0fKc」
'?'在正則表達式中有特殊含義。你需要逃避那個角色。 – zzzzBov