gpt4 book ai didi

javascript - Nodejs 的正则表达式全局匹配不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:00 27 4
gpt4 key购买 nike

我已经尝试过一百万次并且到处搜索过!我无法让它发挥作用。我正在尝试提取推文的文本并查找全局匹配,它仅在完全匹配时才有效,但如果我在其旁边添加单词则无效。仅供引用,我正在尝试在 NodeJS 中执行此操作。

例如:

var userTweet = tweet.text;
var gold = userTweet.match(/#gold/g);
console.log(gold);

console.log(userTweet);

if (userTweet == gold) {

console.log('got it'); // only grabs it if it exactly matches the tweeted string
}
else {
console.log('not getting it'); // if any other word besides 'gold' is present doesn't work at all
}
});

我想补充一点,我正在 Twit 流中编写代码。

并放置在这个函数中:

stream.on('tweet', function(tweet) { 


}

我基本上希望跟踪关键字和特定用户。但是,当我尝试跟踪特定单词时,它会覆盖我想要跟踪的用户并跟踪使用该关键字的每个用户。

--- 对于任何面临同样问题的人,我最终只使用了 twitter-text 模块。尽管它也有它的问题。

最佳答案

您可以使用像 /#gold.*?\b/g 这样的正则表达式:

> '#gold'.match(/#gold.*?\b/g)[ '#gold' ]> '#gold #asdf #golden'.match(/#gold.*?\b/g)[ '#gold', '#golden' ]> 'yay #gold #golddigger woohoo!'.match(/#gold.*?\b/g)[ '#gold', '#golddigger' ]

您可能还需要将 /i 添加到修饰符中,以便找到 #GOLD#GoLd 等。

关于javascript - Nodejs 的正则表达式全局匹配不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960473/

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