Czy używasz Pythona 2.x lub 3.0?
Jeśli używasz 2.x, spróbuj przekształcić ciąg wyrażenia regularnego w łańcuch znaków ucieczki unicode z „u”. Ponieważ jest to wyrażenie regularne, dobrą praktyką jest uczynienie łańcucha wyrażenia regularnego nieprzetworzonym ciągiem z „r”. Również umieszczanie całego wzoru w nawiasach jest zbędne.
re.sub(ur'[\u064B-\u0652\u06D4\u0670\u0674\u06D5-\u06ED]+', '', ...)
http://docs.python.org/tutorial/introduction.html#unicode-strings
Edytować:
Dobrą praktyką jest również używanie flagi re.UNICODE / re.U / (? U) dla wyrażeń regularnych Unicode, ale ma to wpływ tylko na aliasy klas znaków, takie jak \ w lub \ b, których ten wzorzec nie używa, więc nie mieć wpływ.
u
ir
przedrostki. To fajnie!