2012-08-22 126 views
0

請看這JsFiddleJavaScript的正則表達式不區分大小寫

var target = "Thanks For Looking This Problem"; 
var phrase = ["anks", "for", "king T"]; 

for(var indx = 0; indx < phrase.length; indx ++) 
{ 
    target = target.replace(new RegExp(phrase[indx], "gi"), "~~~" + phrase[indx]+ "```"); 
} 
​ 

我得到這樣的輸出:Th~~~anks``` ~~~for``` Loo~~~king T```his Problem

但我需要這樣的輸出:Th~~~anks``` ~~~For``` Loo~~~king T```his Problem

'對於' 而不是 '爲'

回答

2

只是不要replace通過這句話,但由匹配的字符串組成:

… target.replace(new RegExp(phrase[indx], "gi"), "~~~$&```"); 

有了這個,你不妨刪除這個循環並只使用

return target.replace(new RegExp(phrase.join("|"), "gi"), "~~~$&```") 
+0

謝謝。學習正則表達式的任何好的教程。因爲我無法在Google搜索中找到您的方法。 – user10

+0

鏈接的文檔解釋了替換語法。要學習在JS中使用正則表達式,您可以閱讀[MDN指南](https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions),學習正則表達式語法(以及更多) http://www.regular-expressions.info/ – Bergi

+0

感謝您的鏈接.... – user10

相關問題