正则表达式表情符号

时间:2013-08-16 23:52:53

标签: python nltk

我将数据拆分为fileids。我正在尝试浏览每个fileid的数据并搜索正则表达式定义的表情符号:(:)。如果找到表情符号,我需要保留信息a)在这个fileid中找到表情符号b)。当我运行这段脚本并打印表情词典时,我得到0作为值。这怎么可能?我是初学者。

emoticon = 0
for fileid in corpus.fileids():
    m = re.search('^(:\(|:\))+$', fileid)
    if m is not None:
        emoticon +=1

1 个答案:

答案 0 :(得分:1)

我认为你的正则表达式正在运行,m确实不应该是None

>>> re.search('^(:\(|:\))+$', ':)').group()
':)'
>>> re.search('^(:\(|:\))+$', ':)').group()
':)'
>>> re.search('^(:\(|:\))+$', ':):(').group()
':):('
>>> re.search('^(:\(|:\))+$', ':)?:(').group()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'

然而,有些事情对我来说是有问题的。

  • 这只会匹配100%表情符号的字符串
  • 你真的在找文件吗?