より大きい文字のユニコード「文字列」を解析するにはどうすればよい\uFFFF
ですか?
試しre
てみregex
ましたが、2 つの 16 進数値を超える Unicode 文字と正しく一致していないようです。
任意の Unicode 文字列を取得します (たとえば、でエンコードされたツイート テキストutf-8
)
emotes = regex.findall('[\u263A\u263B\u062A\u32E1]',tweet_json_obj['text'])
if emotes: print "Happy:{0}".format(len(emotes))
出力は、テキスト内に含まれるスマイリー フェイスの数です。
しかし、ユニコード文字の絵文字セットに一致させようとすると: http://www.fileformat.info/info/unicode/block/emoticons/index.htm
emotes = regex.findall('[\u01F600-\u01F64F]',tweet_json_obj['text'])
if emotes: print "Emoticon:{0}".format(len(emotes))
出力は、文字列内のすべての文字から空白を除いた (数値) 一致です。正規表現がツイート内のすべての文字、または少なくとも string.printable のように見えるものと一致するのはどうしてですか?
期待される結果は、データセットの大部分で 0 が返されることです。人々がこれらの絵文字を挿入するとは思わないからです。私の正規表現は間違っていますか?