我正在寻找一个字符串中两个不同模式出现的次数。我正在寻找fly
或flies
。我能够找到一个,但是不确定如何检查2个不同的字符串。
到目前为止,我的尝试是
const flyCount = str => {
return (str.match(/fly/g) || str.match(/flies/g) || []).length;
}
答案 0 :(得分:4)
注意:使用\b
(单词边界)查找确切的单词。如果这些单词可以作为其他单词的一部分,请删除\b
。
const flyCount = str =>
(str.match(/\b(?:fly|flies)\b/g) || []).length;
const result = flyCount('Look how he flies. He can fly');
console.log(result);
const flyCount = str =>
(str.match(/\bfly\b/g) || []).length + (str.match(/\bflies\b/g) || []).length;
const result = flyCount('Look how he flies. He can fly');
console.log(result);
答案 1 :(得分:1)
这可以使用|
正则表达式运算符来完成。您可能还需要考虑添加\b
单词边界。
const flyCount = str => (str.match(/\b(?:fly|flies)\b/g) || []).length
console.log(flyCount('One fly, two flies'))