Javascript 正则表达式无效:无需重复错误
我正在尝试制作一个应用程序,计算给定字符串中每个字符出现的次数。例如,在字符串“hello 12355”中,它应该与1之后的所有数字匹配,而不是与“hello”部分匹配。但是,当我尝试运行代码时,我在控制台中得到以下信息: “未捕获的语法错误:无效的正则表达式:/?/:无需重复 在新的RegExp()中“ 但是,当我将xy更改为92以上的值时,代码运行良好。从我所读到的关于这个错误的内容来看,这意味着必须将某些字符的反斜杠加倍,因为它们在Regexp中有某种含义。但是,我不能在不影响所有Unicode值的情况下对Unicode变量进行双反斜杠。有人能帮忙吗 这是我的密码:Javascript 正则表达式无效:无需重复错误,javascript,regex,unicode,counter,Javascript,Regex,Unicode,Counter,我正在尝试制作一个应用程序,计算给定字符串中每个字符出现的次数。例如,在字符串“hello 12355”中,它应该与1之后的所有数字匹配,而不是与“hello”部分匹配。但是,当我尝试运行代码时,我在控制台中得到以下信息: “未捕获的语法错误:无效的正则表达式:/?/:无需重复 在新的RegExp()中“ 但是,当我将xy更改为92以上的值时,代码运行良好。从我所读到的关于这个错误的内容来看,这意味着必须将某些字符的反斜杠加倍,因为它们在Regexp中有某种含义。但是,我不能在不影响所有Unic
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);
var occArray=[];
var occChars=[];
var xy=50;
对于(i=xy;i<100;i++){
var unicodeChar=String.fromCharCode(i);
var计数器=新的RegExp(unicodeChar,'g');
var occurrence=“你好12355”;
var occ=(发生率.匹配(计数器)| |[])长度;
occArray.push(occ);
occChars.push(unicodeChar);
}
警报(occArray);
警报(occChars);
我认为这是因为您传递给unicodeChar的某个字符是中的特殊字符(在您的错误中是?
,即63)。请考虑检测它是否是特殊字符,如果是,可以在将它传递给正则表达式之前添加反斜杠。
希望这能对您有所帮助。可能重复的是,正是问号和双括号造成了问题。我使用if语句跳过那些特定的Unicode值,现在它可以工作了。非常感谢。