如何使用此JavaScript返回带有特定哈希标记的推文?

时间:2012-07-03 11:56:00

标签: javascript regex twitter

filter: function(t){ return  /^@\w+/.test(t.tweet_raw_text); },

如果这个JS返回以@符号开头的推文,那么如何使用特定的哈希标签或其中的单词返回推文?

我尝试的一切都打破了它!它起源于这个JS:

http://tweet.seaofclouds.com/

2 个答案:

答案 0 :(得分:2)

首先让我们分解正则表达式,看看它是如何工作的。

/^@\w+/ - 开头和结尾的斜杠(/)只是分隔符,告诉JavaScript这是一个正则表达式。

^ - 匹配字符串的开头。
@ - 匹配文字@符号 \w - 匹配任何字母数字字符,包括下划线([a-zA-Z0-9_]的缩写) + - 是{1,}的缩写。匹配前一个字符或表达式(\w)一次或多次。

这就是你如何匹配以@符号开头的推文。要匹配包含特定主题标签的推文,您可以使用您尝试匹配的特定主题标签替换上面的正则表达式。

例如,/#StackOverflow/.test(t.tweet_raw_text);将匹配包含确切主题标签#StackOverflow的推文。这是一个区分大小写的模式,因此它与主题标签#stackoverflow不匹配。要使JavaScript正则表达式不区分大小写,只需在结束分隔符之后添加i修饰符,如下所示:/#StackOverflow/i

答案 1 :(得分:0)

感谢上面的回复 - 这是reg表达式的一个很好的教训。

我也解决了这段代码的问题:

filter: function(t){ if (t.tweet_raw_text.indexOf("#EF1") !== -1; },