1

我正在使用以下代码

str = fnmatch.translate(u'ö')
print str

但它打印为

'\ö'

有什么我想念的吗?

4

1 回答 1

2

fnmatch.translate的目的是将 shell 模式转换为正则表达式。在非 ascii 字符前添加反斜杠可能不会尽可能简洁,但它仍然可以正常用作正则表达式:

In [25]: re.match('\ö', u'ö')
Out[25]: <_sre.SRE_Match object at 0x92fef38>

反斜杠只有在某些字符(例如数字、、、、、 ... )之前才有特殊含义。如果它在其他字符之前A,例如b,反斜杠将被忽略。Bd'ö'

于 2012-10-05T22:30:45.857 回答