2012-05-16 5 views
4

У меня есть рабочий шаблон для английского языка, но для моего родного языка не работает, и он дает мне головные боли. Прежде всего, я открыл много вопросов о кодировании, и я знаю, что я недооценил это, это была большая проблема. Я некоторое время читал об этом, и проблема все еще там. Итак, теперь я столкнулся с проблемой utf регулярного выражения. Таким образом, шаблон:unicode findall python

exactMatch = re.compile(r"([^\.]*\bтурција\b[^\.]*)\.", re.UNICODE) 
print exactMatch.pattern 
result= exactMatch.findall("турција е на врвот од индустријата. турција е на врвот од индустријата.") 

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

Я также пробовал с кодированием и декодированием, но замечание происходит, кроме ошибки кодирования.

ответ

6

это будет работать:

exactMatch = re.compile(ur"([^\.]*\bтурција\b[^\.]*)\.", re.UNICODE) 
print exactMatch.pattern 
result= exactMatch.findall(u"турција е на врвот од индустријата. турција е на врвот од индустријата.") 

если вы используете Unicode, то использовать юникода.

+0

Это не работает, я тоже попробовал. – badc0re

+1

@DameJovanoski. – wRAR

+2

какая ошибка вы получаете? меня устраивает. также убедитесь, что ваш файл имеет [правильный набор кодировок] (http://www.python.org/peps/pep-0263.html). – mata