我正在尝试返回一个字母在一个单词中出现的次数。
我正在将这封信传递给这样的函数
function getCount(letter)
{
var pattern = '/' + letter + '/g';
var matches = word.match(pattern);
return matches.length;
}
不幸的是 matches 为 null,所以我无法对其调用 length,我知道这个字母出现在单词中,因为我已经检查过了
word.indexOf(letter) > -1
我怀疑问题出在我构建或评估pattern
最佳答案
以下是构建非文字正则表达式的方法:
var pattern = new RegExp(letter, 'g');
参见 the MDN on building a regular expression .
这里有一个更简单的解决方案来计算字母的出现次数:
return word.split(letter).length-1;
关于javascript - 从字符串构建 Javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030647/