要计算一个数组中的每个关键字(正则表达式)在一个非常大的文本中出现的次数,你可以使用JavaScript中的RegExp
对象和一些基本的循环结构。以下是一个基本的实现方法:
function countKeywordsInText(keywords, text) {
const counts = {};
keywords.forEach(keyword => {
const regex = new RegExp(keyword, 'g');
const matches = text.match(regex);
counts[keyword] = matches ? matches.length : 0;
});
return counts;
}
// 示例使用
const keywords = ['foo', 'bar', 'baz'];
const largeText = '...'; // 这里替换成你的大文本
const counts = countKeywordsInText(keywords, largeText);
console.log(counts);
g
标志,表示全局搜索,即匹配文本中所有符合条件的子串。null
。'foo'
。'\d+'
(匹配一个或多个数字)。match()
可能会导致内存不足或性能下降。通过上述方法,你可以有效地计算数组中每个关键字在非常大的文本中出现的次数,并解决可能遇到的性能和正则表达式错误问题。
领取专属 10元无门槛券
手把手带您无忧上云