Как создать регулярный словарь смайликов в python?

У меня есть список кодов смайликов внутри файла UTF32.red.codes в виде обычного текста. Простой контент файла

 \U0001F600 \U0001F601 \U0001F602 \U0001F603 \U0001F604 \U0001F605 \U0001F606 \U0001F609 \U0001F60A \U0001F60B 

Основываясь на вопросе , моя идея состоит в том, чтобы создать регулярное выражение из содержимого файла, чтобы поймать смайлики. Это мой минимальный рабочий пример

 import re with 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 

found всегда пусто. Где я ошибаюсь? Я использую python 2.7

2 Solutions collect form web for “Как создать регулярный словарь смайликов в python?”

Ваш код будет отлично работать в python 3 (просто исправить print found для print(found) ). Однако в python 2.7 он не будет работать, поскольку его модуль re имеет известную ошибку (см. Эту тему и эту проблему ).

Если вам все еще нужна версия кода python 2, просто используйте модуль regex , который можно установить с помощью pip2 install regex . Импортируйте его с помощью import regex затем замените все re. с regex. (т. е. regex.compile и regex.findall ) и все. Он должен работать.

Этот код работает с python 2.7

 import re with open('UTF32.red.codes','rb') as emof: codes = [emo.decode('unicode-escape').strip() for emo in emof] emojis = re.compile(u"(%s)" % "|".join(map(re.escape,codes))) search = ur'string to check \U0001F601' found = emojis.findall(search) print found 
  • Регулярное выражение Python, соответствующее свойствам Unicode
  • разобрать html красивый суп
  • Python: извлечение предложения с определенным словом
  • Регулярное выражение для соответствия началу имени файла и расширению имени файла.
  • Проблема с регулярными выражениями в python
  • python повторно разделяет строку перед символом
  • Регулярные выражения в Python неожиданно замедляются
  • Regex django url
  •  
    Interesting Posts for Van-Lav

    Предоставляет ли python официальную поддержку повторного использования переменной цикла после цикла?

    Как я могу написать модульные тесты против кода, использующего matplotlib?

    Python – запрос по списку кортежей

    Как вставить Python3 со стандартной библиотекой

    Создание и маршрутизация динамической очереди сельдерея

    Предупреждение о блокировке при установке gensim

    Как импортировать функции из других проектов в Python?

    Python для флеш-ключа, сочетающего сочетание клавиш Autohotkey, автоматизацию?

    Есть ли переносимый способ получить текущее имя пользователя в Python?

    Декларативный синтаксис SQLAlchemy с автозагрузкой (отражение) в Pylons

    Невозможно импортировать модуль python из подкаталога с помощью простого оператора импорта

    Многопроцессорность Python и общий счетчик

    Python raw_input использует TAB вместо ENTER?

    nltk: Как предотвратить возникновение собственных существительных

    Scikit-learn (sklearn) PCA бросает Type Error на разреженную матрицу

    Python - лучший язык программирования в мире.