\U0001F600\U0001F601\U0001F602\U0001F603 \U0001F604\U0001F605\U0001F606\U0001F609\U0001F60A\U0001F60B
基于question,我的想法是从文件的内容创建正则表达式以捕获表情符号.这是我最小的工作示例
import rewith open('UTF32.red.codes','r') as emof: codes = [emo.strip() for emo in emof] emojis = re.compile(u"(%s)" % "|".join(codes))string = u'string to check \U0001F601'found = emojis.findall(string)print found
发现总是空的.哪里错了?我正在使用python 2.7
解决方法 您的代码将在python 3中正常运行(只需修复打印发现的打印(找到)).但是,在python 2.7中它不起作用,因为它的re模块有一个已知的BUG(见 this thread和 this issue).如果你仍然需要python 2版本的代码,只需使用regex模块,它可以与pip2安装正则表达式一起安装.然后用import regex导入它,替换所有re.正则表达式的语句. (即regex.compile和regex.findall)就是这样.它应该工作.
总结以上是内存溢出为你收集整理的如何在python中构建常规词汇表?全部内容,希望文章能够帮你解决如何在python中构建常规词汇表?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)