簡體   English   中英

Python正則表達式:查找單詞和表情

[英]Python regex: find words and emoticons

我想在一條推文和包含單詞,短語和表情符號的字符串列表之間找到匹配項。 這是我的代碼:

words = [':)','and i','sleeping','... :)','! <3','facebook'] regex = re.compile(r'\\b%s\\b|(:\\(|:\\))+' % '\\\\b|\\\\b'.join(words), flags=re.IGNORECASE)

我不斷收到此錯誤:

error: unbalanced parenthesis

顯然,代碼存在問題,無法匹配表情符號。 知道如何解決嗎?

我嘗試了以下操作,並停止拋出錯誤:

words = [':\)','and i','sleeping','... :\)','! <3','facebook']

re模塊具有函數escape功能,可以正確地轉義單詞,因此您可以使用

words = map(re.escape, [':)','and i','sleeping','... :)','! <3','facebook'])

請注意,將單詞邊界與未以實際單詞字符開頭或結尾的單詞一起使用時,可能無法按預期工作。

words具有所有必需的格式后,請重新使用()作為特殊字符。 這就要求您使用\\(\\)以避免將它們解釋為特殊字符,而應將其解釋為ASCII字符40和41。由於您不了解@Nicarus的意思,因此需要使用以下命令:

words = [':\)','and i','sleeping','... :\)','! <3','facebook']

注意:我只是說出來,因為對於所有可能要批評這一點的人來說,這似乎不是學校的作業。 另外,在堆棧溢出之前,請查看文檔。 說明了一切。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM