0

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

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

1 回答 1

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% 表情符号的字符串
  • fileid 真的是您要搜索的吗?
于 2013-08-17T00:06:29.443 回答