🦋

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

2024/02/10に公開3

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

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

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

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

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

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

ポイント

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

問題点

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

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

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

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

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

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

Discussion

家畜のすけろく家畜のすけろく

ありがとうございます。HTMLとかコンピュータ言語が全くできないので凄く助かりました!
公開feedでつかってもよろしいでしょうか?
noteで参考元としてこちらの記事を引用したいのですが問題ないでしょうか…?