javascript - 检查字符串js中2个字符串的出现次数

标签 javascript regex ecmascript-6

我正在寻找字符串中两种不同模式的出现次数。我正在寻找 flyflies。我能够找到一个,但不确定如何检查 2 个不同的字符串。

到目前为止我的尝试是

const flyCount = str => {
   return (str.match(/fly/g) || str.match(/flies/g) || []).length;
}

最佳答案

  1. 结合正则表达式找到这两个词。

注意:使用\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);

  1. 或者获取每个表达式的长度并将它们相加:

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);

关于javascript - 检查字符串js中2个字符串的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52918072/

相关文章:

javascript - 基本的 javascript 函数不起作用

javascript - 如何为选择中的选项创建if?

javascript - 如何在枚举时修改对象属性值

正则表达式 - 可变长度的匹配数字

javascript - 过滤拒绝的 promise

javascript - 在 JavaScript 中使用过滤元素属性创建对象

javascript - 匹配正确字符串的确切正则表达式是什么?

php - 如何使用正则表达式检查字符串不包含 "bird"或 "cat"?

javascript - Object.assign什么时候会返回false

javascript - 在 React 组件上返回 true 或 false 的异步方法