【发布时间】:2013-11-26 19:09:36
【问题描述】:
如何解析大于 \uFFFF 的字符的 unicode“字符串”?
尝试了re 和regex,但似乎无法正确匹配大于 2 个十六进制值的 unicode 字符。
获取任何 unicode 字符串(例如,以utf-8 编码的推文文本)
emotes = regex.findall('[\u263A\u263B\u062A\u32E1]',tweet_json_obj['text'])
if emotes: print "Happy:{0}".format(len(emotes))
输出是文本中包含的笑脸数量,效果很好!
但如果我尝试匹配 unicode 字符的表情符号集: 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,因为我不希望人们插入这些表情符号,但它们可能......所以我想检查它们是否存在。我的正则表达式不正确吗?
【问题讨论】:
标签: python regex python-2.7 unicode