[python] unicode a regulární výrazy

superman feed na centrum.cz
Čtvrtek Říjen 26 14:32:44 CEST 2006


Dobrý den,

chtěl jsem se zeptat, zda by mě někdo nemohl nakopnout kde mám chybu. 
Určitě to bude trivialitka, ale já už nevím. Jde o to, že mi regulární 
výraz odmítá sežrat znak z horní poloviny ascii tabulky. Kód:

#! /usr/bin/env python
# vim:fileencoding=UTF-8

import math, re

...

__AstrologyAngleRegExp = \
   u'^([0-9]+)[ \t°]*(' + \
   __AstrologyAngleRegExp + \
   ')?[ \t°]*(([0-9]+)[ \t\']*)?(([0-9]+)[ \t\"])?$'

__AstrologyAngleRegExp = re.compile(__AstrologyAngleRegExp)

A tady to hlásí chybu:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 5: 
ordinal not in range(128)

Evidentně mu vadí ten znak stupně °, ale já ho tam nějak potřebuji 
vnutit. Zdůrazňuji, že celý zdroják je UTF-8.

Prosím o radu

Miloslav Ponkrác


Další informace o konferenci Python