gpt4 book ai didi

javascript - 如何使用正则表达式匹配单个单词和单词组合?

转载 作者:行者123 更新时间:2023-11-30 15:23:30 25 4
gpt4 key购买 nike

我正在尝试将用户文本输入与一组预定义的关键字和短语相匹配。

例子:

var keywordRegEx = /\b(nutrition|protein|muscle|muscle growth|muscle repair|muscle food|foods)\b/ig;

var user_input = "What are the best foods for muscle growth and muscle repair";
var matches = user_input.match(keywordRegEx);

console.log(matches);
//["foods", "muscle", "muscle"]

但是我想在控制台看到的是:

//["foods", "muscle", "muscle growth", "muscle repair"]

有什么方法可以使用正则表达式匹配单个完整单词和组合,包括那些完整单词?

*请注意,如果我从预定义关键字和短语列表中删除“肌肉”,我会得到以下结果:

var keywordRegEx = /\b(nutrition|protein|muscle growth|muscle repair|muscle food|foods)\b/ig;

var user_input = "What are the best foods for muscle growth and muscle repair";
var matches = user_input.match(keywordRegEx);

console.log(matches);
//["foods", "muscle growth", "muscle repair"]

但我需要能够自己匹配单个单词..

当谈到正则表达式时,我很迷茫,所以非常感谢这里的任何帮助。

提前致谢

最佳答案

你离我很近。稍后添加单个单词。在这种情况下,在正则表达式的末尾添加 muscle

注意:我还更改了输入字符串(添加了 muscle),只是为了表明正则表达式现在可以抓取单个和多个单词。

const keywordRegEx = /(nutrition|protein|muscle growth|muscle repair|muscle food|foods|muscle)/g;

var user_input = "What are the muscle best foods for muscle growth and muscle repair";
var matches = user_input.match(keywordRegEx);

console.log(matches);

在这里玩:https://regex101.com/r/Ge5Kry/1

关于javascript - 如何使用正则表达式匹配单个单词和单词组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com