我已经尝试了一百万次,并且无论如何都在搜索过!我不能让这个工作。 我正在尝试提取推文的文本并查找全局匹配,它只有在绝对匹配时才有效,但如果我在它旁边添加一个单词则不行。仅供参考我想在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模块。虽然它也有问题。
答案 0 :(得分:0)
您可以使用/#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
等。