Я пытаюсь воспроизвести результат, используя 're.findall' (re module), который есть в консоли python (v2.7) в jupyter-notebook.До сих пор я знаю, что jupyter-notebook получает кодировку «ascii» по умолчанию, а я даю «utf8».Чтобы «исправить», я использую флаг «re.LOCALE» в «re.findall», что решает проблему «сбой», но не получает символы вроде «ç», «ã» или «ê».Это просто урезание «совпадения».Пример:
Строка типа: "DVD com função karaokê mondial D-14"
Применение функции 're.findall'
# -*- coding: utf-8 -*-
# lots of import here...
import re
words = "dvd player com função karaokê mondial D-14"
brSpecialChars = r'[\w\dÁáÁàÃãÂâÉéÈèÊêÍíÓóÔÕÚúÜüÇç]'
prepositions = r'(a|ante|apos|após|ate|até|com|contra|de|desde|em|per|para|perante|por|sem|sob|sobre|tras|trás)'
found = re.findall(r'(' + brSpecialChars + r'+\s+' + prepositions + r'\s+' + brSpecialChars + r'+)'
print "FOUND: {}".format(str(found))
Я получил эту печать в консолииз jupyter-notebook
(u'player com fun ', u'com', u 'fun')
Я получил это с консоли Python
[('player com fun \ xc3 \ xa7 \ xc3 \ xa3o', 'com', 'fun \ xc3 \ xa7 \ xc3 \ xa3o')]
У меня нетИдея почему.Не могли бы вы уточнить это, пожалуйста?