Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 10, 2009 08:41:45

neoweb
От:
Зарегистрирован: 2009-04-10
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск регулярками в utf-8 тексте

Связался я с Python два дня назад. У меня задача: 1) Есть список французских слов и есть текст на французском. Мне необходимо выбрать для каждого из слов по одному предложению (предложение должно содержать это слово).

import codecs
listOfWords = codecs.open(“words.txt”, “r”, “utf-8”).readlines()
mytext = codecs.open(“text.txt”, “r”, “utf-8”).read()
mytext = mytext.replace(“\r\n”,“ ”)
mytext = re.sub(“\s+”,“ ”, mytext) #Удаляю мусор

sentences=
for word in listOfWords:
word=word
regex = u"\.[\s\w\'\"\]*?\s+“+word+”\s+[\s\w\'\"\]*?\.“
reg = re.compile(regex)
if reg.search(mytext,re.U):
res = reg.search(mytext, re.U)
sentences.append(res.group())
else:
sentences.append(”Not Found")
print word


Регулярка может и неверная, но как я понял проблема в том, что \w не включает в себя буквы: ç, é, ê и т.д.
Подскажите как быть. Спасибо.



Офлайн

#2 Апрель 10, 2009 13:26:31

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

поиск регулярками в utf-8 тексте

Какие значения принимает \w зависит от флага locale. Выставь французскую локаль, и должно работать.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version