0
我不得不從數組的每個字符串(元素)中列表(var。「模式」)的符號出現次數。我想通過在變量中設置模式來使它更通用。但是,當我嘗試通過使用RegExp對象來實現它時,它不起作用。JavaScript的正則表達式對象與內聯正則表達式
我無法理解的代碼兩個部分的區別:
這種變異不起作用。
var pattern = "@#%";
var arr = ['[email protected]','D#nse Cr%wd','Cr#m#n#l [email protected]@[email protected]'];
for(var i=0; i < arr.length; i++){
l = '/[^'+pattern+']/';
g = new RegExp(l,"gi");
console.log(arr[i].replace(g,"").length);
}
結果將是:
4
11
18
同樣的變異,但沒有RegExp對象,做工精細:
var arr = ['[email protected]','D#nse Cr%wd','Cr#m#n#l [email protected]@[email protected]'];
for(var i=0; i < arr.length; i++){
console.log(arr[i].replace(/[^@#%]/gi,"").length);
}
結果將是:
1
2
6
你能解釋一下這個區別嗎?
在此先感謝。