0
4

2 回答 2

4

仅仅因为它具有非拉丁字符的页面并不意味着它是用 unicode 编码的(还有,哪种 unicode 编码?utf-8?utf-16?)。

此外,re.UNICODE可能不会像您认为的那样做。从文档:

使 `\w、\W、\b、\B、\d、\D、\s` 和 `\S` 依赖于 Unicode 字符属性数据库。

所有这一切意味着这些特定的字符类被更广泛地定义,它对源文本没有影响。

此外,编码定义-*- coding: utf-8 -*-只是指定源文件的编码。

最后,正如其中一条评论所指出的,� 可能是使用当前字体不支持的字符的结果。反过来,这可能是在文本以不同编码编码时假设某种编码的结果。

于 2013-03-25T23:25:41.513 回答
1

这可能不是一个“答案”,本身..但你可以尝试使用http://www.debuggex.com来调试你的正则表达式。

于 2013-03-25T22:19:30.447 回答