您需要指定re.UNICODE
标志, 并 使用u
前缀将您的字符串输入为Unicode字符串:
>>> re.match(r'^/by_tag/(?P<tag>\w+)/(?P<filename>(\w|[.,!#%{}()@])+)$', u'/by_tag/påske/øyfjell.jpg', re.UNICODE).groupdict()
{'tag': u'p\xe5ske', 'filename': u'\xf8yfjell.jpg'}
这在Python 2中;在Python 3中,您必须省略,u
因为所有字符串都是Unicode。