文字列内で各文字が何回出現するかをカウントするアプリケーションを作成しようとしています。たとえば、文字列 "hello 12355"では、 "hello"部分ではなく、1より前のすべての数字と一致するはずです。私は、コードを実行しようとすると、しかし、私は、コンソールでこれを取得する:無効な正規表現:何も繰り返しないエラー
「キャッチされないでSyntaxError:無効な正規表現:/ /:?新しい正規表現(で を繰り返すNothing)で、」私は変更
xyから92までは何でも、コードは正常に動作します。私がこのエラーについて読んだところでは、Regexpで何かを意味するので、いくつかの文字を二重にする必要があることを意味します。しかし、すべてのUnicode値に影響を与えることなく、Unicode変数を二重にすることはできません。誰も助けることができますか?私はあなたがunicodeChar
のために渡し、一部の文字がRegexに特殊文字が(あなたのエラーでは、それは63である?
だ)であるため、それが起こると思います
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正規表現「何も繰り返さない」エラー(http://stackoverflow.com/questions/10650443/javascript-regular-expression-nothing-to-repeat-error)の可能な複製 –