Вот небольшой пример:
reg = ur"((?P<initial>[+\-👍])(?P<rest>.+?))$"
(В обоих случаях файл имеет -*- coding: utf-8 -*-
)
В Python 2:
re.match(reg, u"👍hello").groupdict()
# => {u'initial': u'\ud83d', u'rest': u'\udc4dhello'}
# unicode why must you do this
В то время как в Python 3:
re.match(reg, "👍hello").groupdict()
# => {'initial': '👍', 'rest': 'hello'}
Вышеуказанное поведение на 100% отлично, но переход на Python 3 в настоящее время не является вариантом. Каков наилучший способ репликации 3 результатов в 2, который работает как в узкой, так и в широкой сборке Python? Кажется, что coming приходит ко мне в формате "\ ud83d\udc4d", что делает это сложным.