🦋

Skyfeedの正規表現で、タグが多いpostを除外する【Bluesky】

2024/02/10に公開

Skyfeedで作ったフィードで、「ハッシュタグが〇〇個以上ついたPost」 が表示されないようにする方法について書きます。
Skyfeedの基本的な使い方はここでは触れません。こちらの記事がおすすめです👇
https://scrapbox.io/Bluesky/SkyFeedのFeed_Builderを使ってカスタムフィードをつくる

後述の問題点はありますが、大体はカバーできるかと🙏

次のブロックを追加します。

上の例だと「ハッシュタグが8個以上ついたPost」が対象になります。

👇★の部分をお好きな数値に変えてください。10でも、3でも、なんでも!

(?:(#|\n#|\n#).*?){★,}

ポイント

  • invertにチェックを入れることで「条件に合うPostを非表示」にできます。
  • 「#」または「改行+#(半角)」、「改行+#(全角)」を探してカウントしてます。

問題点

ひとまとめに書かれていないとマッチしません…。
こういうの👇はマッチしますが、

なんか文章の後にいっぱいタグ書いてある系
#タグ #タグ #タグ
#タグ
#タグ...

こうなると👇マッチしません。

#タグ #タグ #タグ
いっぱいあるタグの間に空行や普通の文字列が挟まってたり、
#タグ #タグ...

文章の中に #いろんな #タグ が
散りばめられてる #こんなパターン だと、#マッチ しません。
ただし #同じ #行内に #いっぱい #あると #マッチ #します。

というわけで、正確には下記の除外になります🙏
「ハッシュタグが同じ行内に〇〇個以上あるか、#で始まる連続した行内のハッシュタグの合計が〇〇個以上のPost」

Discussion