>>> cthEn.search(“cthulhu”)
<_sre.SRE_Match object at 0xb7be3ea0>
>>> cth = re.compile(ur“\b.{0,2}(к|ц)т?улх?у.{0,2}\b”)
>>> cth.search(u“ктулху”)
>>> cth = re.compile(ur“.{0,2}(к|ц)т?улх?у.{0,2}”)
>>> cth.search(u“ктулху”)
<_sre.SRE_Match object at 0xb7be3d20>
как видно, для русского “границы слова” вообще убивают весь поиск. В английском или без границ все нормально. В чем дело, как лечить?
Python 2.5.2, gentoo
Возможно в боолее новых версиях все нормально, но не хочеться ставить маскированные пакеты
import re
cthEn = re.compile(ur"\b.{0,2}(k|c)t?h?ulh?u.{0,2}\b")
print cthEn.search("cthulhu")
#рабочее
cth1 = re.compile(ur"\b.{0,2}(к|ц)т?улх?у.{0,2}\b")
print cth1.search(u"ктулху")
#не рабочее
cth2 = re.compile(ur"\b.{0,2}(к|ц)т?улх?у.{0,2}\b")
print cth2.search(u"ктулху")