21

Twitter クライアントを含む iOS アプリの開発では、ユーザーが生成したハッシュタグ (ツイート本文だけでなく、アプリ内の別の場所で作成される可能性があります) を許可する必要があります。

そのようなハッシュタグが twitter で有効であることを確認したいので、無効な文字の入力値をエラー チェックしたいと思います。ユーザーは英語を話さない国の人である可能性があることに注意してください。

ハッシュタグを数字で始めたり、特別な句読点を使用したりしないなどの通常の制限は認識していますが、ハッシュタグ内で技術的に許可されているすべての追加文字 (つまり、国際文字) の既知のリストがあるかどうか疑問に思っていました。

4

6 に答える 6

10

カール、あなたが正しく指摘したように、任意の言語の任意の単語が有効な Twitter ハッシュタグになる可能性があります (いくつかの基本的な基準を満たしている限り)。そのため、あなたが求めているのは、有効な国際語の文字のリストです。誰かがそのようなリストをどこかで編集したと確信していますが、それを使用することは、最初の目標と思われるもの、つまり特定のハッシュタグが Twitter で有効であることを確認するための最も効率的な方法ではありません。

あなたが探しているのは、Unicode 範囲内のすべての単語文字に一致する正規表現だと思います。このような表現はロケールに依存せず、単語の一部として表示される最新のタイポグラフィのすべての文字に一致します。

アプリを作成する言語が指定されていないため、言語固有の実装についてお手伝いすることはできません。ただし、基本的なアプローチは次のようになります。

  1. ブラケット式または文字クラスのいずれかが、使用している言語で既にUnicode 文字範囲をサポートしているかどうかを確認してください。はいの場合は、それらを使用してください。

  2. お使いの言語でUnicode 文字範囲のサポートを有効にできる正規表現修飾子があるかどうかを確認してください。

最近のほとんどの言語は、かなり似た方法で正規表現を実装しており、その多くは Perl から多くを借用しているため、次の 2 つの例が正しい方向に進むことを願っています。

パール:

文字クラス[[:alpha:]](例[[:allnum:]][[:digit:]]\w

/uパターン マッチング時に修飾子を使用して Unicode サポートを有効にします。この修飾子の下では、ASCII プラットフォームは実質的に Unicode プラットフォームになります。したがって、たとえば、\wUnicode の 100,000 を超える単語文字のいずれかに一致します。

詳細については、Perl のドキュメントを参照してください。

ルビー:

ASCII 以外の文字が含まれているため、POSIX ブラケット式を使用します。たとえば、/\d/ は ASCII 10 進数 (0 ~ 9) のみに一致します。一方、/[[:digit:]]/ は Unicode Nd カテゴリの任意の文字に一致します。

詳細については、Ruby のドキュメントを参照してください。

例:

ハッシュタグのリストを指定すると、次の正規表現は、単語文字 (国際単語文字を含む) で始まり、その後に少なくとも 1 つの他の単語文字、数字、またはアンダースコアが続くすべてのハッシュタグに一致します。

    m/^#[[:alpha:]][[:alnum:]_]+$/u     # Perl

    /^#[[:alpha:]][[:alnum:]_]+$/       # Ruby
于 2014-09-09T11:30:49.390 に答える
5

Twitter では、文字、数字、およびアンダースコアを使用できます。

APIを介してツイートを生成することでこれを確認しました。たとえば、ツイート

ハッシュタグテスト #foo[bar

「#foo」はハッシュタグとしてマークされ、「[bar」はフォーマットされていないテキストになります。

于 2013-06-21T21:21:22.100 に答える
0

さて、初心者の場合、ハッシュタグ(## hash)に#を使用することはできません。

以下のガイドラインは、 Twitterのヘルプセンターから引用されています。

  • 人々は、ツイート内の関連するキーワードまたはフレーズ(スペースなし)の前にハッシュタグ記号#を使用して、それらのツイートを分類し、Twitter検索でより簡単に表示できるようにします。
  • メッセージ内のハッシュタグ付きの単語をクリックすると、そのキーワードでマークされた他のすべてのツイートが表示されます。
  • ハッシュタグは、ツイートの最初、途中、最後など、どこにでも出現する可能性があります。
  • 非常に人気のあるハッシュタグ付きの単語は、多くの場合、トレンドトピックです。
    例:以下のツイートでは、@eddieにハッシュタグ#FFが含まれています。ユーザーはこれを「FollowFriday」の省略形として作成しました。これは、ユーザーが他の人にTwitterでフォローするように勧める毎週の伝統です。これは金曜日に表示されます。

ハッシュタグを正しく使用する:

  • 公開アカウントでハッシュタグを付けてツイートすると、そのハッシュタグを検索した人なら誰でもあなたのツイートを見つけることができます
  • #ハッシュタグで#スパムしないでください。1つのツイートに過度のタグを付けないでください。(ベストプラクティスでは、ツイートごとに2つ以下のハッシュタグを使用することをお勧めします。)
  • ハッシュタグは、トピックに関連するツイートにのみ使用してください。
于 2013-02-12T00:17:53.340 に答える