即使使用re.UNICODE,regexp也无法进行utf8字符匹配

时间:2014-06-01 17:02:06

标签: regex python-2.7

如果我匹配utf-8字符串,我就不会得到匹配

>>> print re.search('^([\w\.]+),[\s]+', 'Baştovoi, A', re.UNICODE)
None

但是如果用等效的ascii替换utf8 char,它就可以工作。

>>> print re.search('^([\w\.]+),[\s]+', 'Bastovoi, A', re.UNICODE)
<_sre.SRE_Match object at 0x7f21501ca648>

为什么会这样? 我该如何解决?

1 个答案:

答案 0 :(得分:0)

使用unicode字符串:

>>> print re.search(u'^([\w\.]+),[\s]+', u'Baştovoi, A', re.UNICODE)
<_sre.SRE_Match object at 0xb7417f60>