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