我試圖製作一個應用程序來計算每個字符在給定字符串中出現的次數。例如,在字符串「hello 12355」中,它應該與過去1的所有數字匹配,而不是與「hello」部分匹配。然而,當我嘗試運行代碼,我得到這個在控制檯:無效的正則表達式:沒有重複的錯誤
「未捕獲的SyntaxError:無效的正則表達式:/ /?在新的RegExp()沒有重複 」
當我改變xy到92以上的任何東西,但是,代碼運行良好。從我讀過的關於這個錯誤的信息來看,這意味着你必須加倍反斜線一些字符,因爲它們在Regexp中意味着什麼。但是,我不能在不影響所有Unicode值的情況下對Unicode變量進行雙反斜槓。誰能幫忙?
這裏是我的代碼:
var occArray = [];
var occChars = [];
var xy = 50;
for (i = xy; i < 100; i++) {
var unicodeChar = String.fromCharCode(i);
var counter = new RegExp(unicodeChar, 'g');
var occurence = "hello 12355";
var occ = (occurence.match(counter) || []).length;
occArray.push(occ);
occChars.push(unicodeChar);
}
alert(occArray);
alert(occChars);
[JavaScript正則表達式「Nothing to repeat」錯誤]的可能重複(http://stackoverflow.com/questions/10650443/javascript-regular-expression-nothing-to-repeat-error) –