javascript - 从字符串构建 Javascript 正则表达式

标签 javascript regex

我正在尝试返回一个字母在一个单词中出现的次数。

我正在将这封信传递给这样的函数

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/

相关文章:

Java - 正则表达式解析字符串

java - 用于查找以 @ 开头并以空格或换行符结尾的单词的正则表达式

Java 正则表达式。在长文本中仅查找一个匹配项

regex - [:alnum:] POSIX Character Class under Oracle regular expresssion 中不接受“1A”

java - 将零替换为单词中的字母 "o"

javascript - 在 Javascript 中使用 Window.prompt()

javascript - 使用 Clojurescript 中的 Bootstrap 3

java - jmesa 将 html 呈现为文本

javascript - React Native 上的 gRPC

javascript - for-of 循​​环的性能成本