我正在使用以下代码
str = fnmatch.translate(u'ö')
print str
但它打印为
'\ö'
我有什么遗失的吗?
答案 0 :(得分:2)
fnmatch.translate的目的是将shell模式转换为正则表达式。在非ascii字符前面添加反斜杠可能不尽可能简洁,但它仍然可以正常用作正则表达式:
In [25]: re.match('\ö', u'ö')
Out[25]: <_sre.SRE_Match object at 0x92fef38>
反斜杠只有在某些字符之前(例如数字A
,b
,B
,d
,......时才有特殊含义。)如果它先于其他字符,例如'ö'
,反斜杠将被忽略。