Найти - Пользователи
Полная версия: поиск регулярками в utf-8 тексте
Начало » Python для новичков » поиск регулярками в utf-8 тексте
1
neoweb
Связался я с 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 не включает в себя буквы: ç, é, ê и т.д.
Подскажите как быть. Спасибо.
Ferroman
Какие значения принимает \w зависит от флага locale. Выставь французскую локаль, и должно работать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB