我正在尝试根据数组中预定义词的列表搜索网页正文的文本。然后记录每个单词的出现次数。
<script>
var str = document.body.innerText;
var array = [];
array[0] = "Statement";
array[1] = "Documents";
var regexp = new RegExp( '\\b' + array.join('\\b|\\b') + '\\b').test(str);
document.write(regexp)
</script>
那只会返回真或假。 或者有没有办法使这个工作?
var str = document.body.innerText;
var n = str.match(use array here)
document.write(n)
答案 0 :(得分:1)
试试这个
n = str.match(new RegExp('\\b(' + arr.join('|') + ')\\b', 'ig')) || []).length;
使用i
和g
标记
new RegExp('\\b(' + arr.join('|') + ')\\b', 'ig')
将空数组定义为fallback
str.match(regex) || []
返回结果数组或回退数组的长度
str.match(new RegExp('\\b(' + arr.join('|') + ')\\b', 'ig')) || []).length;