Найти - Пользователи
Полная версия: Проблема RegExp и threading
Начало » Python для экспертов » Проблема RegExp и threading
1
pina
Здравствуйте!

В общем есть довольно примитивный класс основанный на threading. В процессе работы в классе проверяется некое условие. Данное условие это количество результатов len(re.findall())
При чем, я решил “облегчить” питону жизнь и сделал до объявления класса regexp = re.compile() в надежде на то, что однажды скомпилированная регулярка будет работать быстрее, нежели компилирование каждый раз. В итоге получилось regexp.findall(content).

По идее пока все правильно. НО! В процессе работы столкнулся с такой проблемой что результат не правильный. Он включает в себя какие то “дополнительные результаты”. Т.е. например в реальности число вхождений должно быть 10, а он выдает 245 (цифры с потолка, но так на самом деле). На сколько я понял, “дополнительные результаты” - это остатки от прошлых действий регулярки, или тех которые в данный момен обрабатываются.

Все эти же действия( regexp.findall(content) ) в один поток(без threading) дают правильный результат.

Как заствить работать данный кусок кода так, как мне надо?
dimabest
pina
Как заствить работать данный кусок кода так, как мне надо?
обойтись без regexp = re.compile() ?
pina
мой косяк, все правильно)
в один поток тестил на домашнем компе, а на сервере регулярка из других слов складывается)) вот и получалось такое разногласие
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