kzyksd
kzyksd.bsky.social
kzyksd
@kzyksd.bsky.social
Akasaka, Tokyo, Japan
Reposted by kzyksd
まず、ハッシュタグの規則のもとなっているサーバの設定から。
@atproto/api パッケージ で、このような正規表現で表されています。

export const TAG_REGEX = /(^|\s)[##]((?!\ufe0f)[^\s\u00AD\u2060\u200A\u200B\u200C\u200D\u20e2]*[^\d\s\p{P}\u00AD\u2060\u200A\u200B\u200C\u200D\u20e2]+[^\s\u00AD\u2060\u200A\u200B\u200C\u200D\u20e2]*)?/gu
March 3, 2024 at 8:48 AM
Reposted by kzyksd
詳しくこの内容を書くと長いので、簡単に項目だけ出すと、
・行頭か空白文字の後の # (半角#) か #(全角#) で始まる
・#はその後に制御文字を追加して絵文字#️⃣にすることができるので、その場合は除外
・# の直後には数字、空白、および句読点類(括弧や各種ハイフンなども)は入らない
・その後は、「空白と一部の禁止文字以外」が続く
となってます。この空白には、半角スペースだけでなく、全角スペースやその他いろいろな幅のスペース文字、ゼロ幅文字なども入ります。数字には全角数字も、句読点括弧ハイフン類も半角記号だけでなく、Unicode のカテゴリ単位で含まれます。
March 3, 2024 at 8:55 AM