从字符串构建Javascript Regex

Building a Javascript Regex from string

本文关键字:Regex Javascript 构建 字符串      更新时间:2023-09-26

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

我把这封信传给一个类似的函数

function getCount(letter)
{
    var pattern = '/' + letter + '/g';
    var matches = word.match(pattern);
    return matches.length;
}

不幸的是,匹配为空,所以我无法调用它的长度,我知道字母出现在单词中,因为我已经检查了

word.indexOf(letter) > -1

我怀疑问题出在我构建或评估pattern 的方式上

以下是如何构建非文字正则表达式:

var pattern = new RegExp(letter, 'g');

请参阅有关构建正则表达式的MDN。

这里有一个更简单的解决方案来计算字母的出现次数:

return word.split(letter).length-1;

您可以这样做:

function hasClass(letter) {
    var pattern = new RegExp(letter,'g'); // Create a regular expression from the string
    var matches = word.match(pattern);
    return matches;

参考编号:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp

这里也回答了这个问题:字符串

中的javascript新regexp