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
前の文字または式 ( ) に 1 回以上一致します。
@
これが、記号で始まるツイートを照合する方法です。特定のハッシュタグを含むツイートと一致させるには、上記の正規表現を、一致させようとしている特定のハッシュタグに置き換えることができます。
たとえば/#StackOverflow/.test(t.tweet_raw_text);
、正確なハッシュタグを含むツイートに一致します#StackOverflow
。ただし、これは大文字と小文字が区別されるパターンであるため、ハッシュタグとは一致しません#stackoverflow
。JavaScript の正規表現で大文字と小文字を区別しないようにするには、i
次のように終了区切り記号の後に修飾子を追加します /#StackOverflow/i
。
上記の返信に感謝します-正規表現の良いレッスンです。
私もこのコードで問題を回避しました:
filter: function(t){ if (t.tweet_raw_text.indexOf("#EF1") !== -1; },