filter: function(t){ return /^@\w+/.test(t.tweet_raw_text); },
如果此 JS 返回以符号开头的推文@
,如何返回带有特定哈希标签或其中单词的推文?
我尝试的一切都会破坏它!它起源于这个JS:
filter: function(t){ return /^@\w+/.test(t.tweet_raw_text); },
如果此 JS 返回以符号开头的推文@
,如何返回带有特定哈希标签或其中单词的推文?
我尝试的一切都会破坏它!它起源于这个JS:
首先让我们分解正则表达式,看看它是如何工作的。
/^@\w+/
/
-开头和结尾的斜线 ( ) 只是告诉 JavaScript 这是一个正则表达式的分隔符。
^
- 匹配字符串的开头。
@
- 匹配文字 @ 符号。
\w
- 匹配任何字母数字字符,包括下划线(缩写[a-zA-Z0-9_]
)。
+
- 是 的缩写{1,}
。匹配前一个字符或表达式 ( \w
) 一次或多次。
这就是您匹配以该@
符号开头的推文的方式。要匹配包含特定主题标签的推文,您可以将上面的正则表达式替换为您尝试匹配的特定主题标签。
例如,/#StackOverflow/.test(t.tweet_raw_text);
将匹配包含确切主题标签的推文#StackOverflow
。不过,这是一个区分大小写的模式,因此它与 hashtag 不匹配#stackoverflow
。要使 JavaScript 正则表达式不区分大小写,只需i
在结束分隔符后添加修饰符,如下所示: /#StackOverflow/i
.
感谢您的上述回复 - reg 表达式的一个很好的教训。
我也解决了这段代码的问题:
filter: function(t){ if (t.tweet_raw_text.indexOf("#EF1") !== -1; },