2012-11-29 45 views
4

我有這樣的代碼替換所有開閉方括號這裏面有一個匹配的變量:在使用變量時在正則表達式中跳轉方括號?

for (var j = 0; j <= temp.length; j++) { 
    var re = new RegExp("["+j+"]", 'g'); 
    imgData = imgData.replace(re, temp[j]); 
} 

var re = new RegExp("["+j+"]", 'g');不起作用,因爲我假設括號不被轉義。有誰知道我會如何逃避他們,但仍然能夠在模式中有一個變量?謝謝! :)

回答

9

你應該用反斜槓轉義:

var re = new RegExp("\\[" + j + "\\]", "g"); 
+0

啊,我明白了!謝謝。 :) –