我知道Python 3修复了很多UTF问题,但我不能使用Python 3,我使用的是2.5.1
我正在尝试使用正则表达式文档,但文档中包含UTF连字符 - 而不是 - .Python无法与这些匹配,如果我将它们放在正则表达式中,它会抛出一个摇摆不定的东西.
我如何强制Python使用UTF字符串或以某种方式匹配像这样的字符?
谢谢你的帮助
你必须转义有问题的字符( - )并将au放在字符串文字的前面,使其成为一个unicode字符串.
所以,例如,这个:
re.compile("–")
Run Code Online (Sandbox Code Playgroud)
成为这个:
re.compile(u"\u2013")
Run Code Online (Sandbox Code Playgroud)
经过快速测试并访问PEP 0264:定义 Python 源代码编码后,我发现您可能需要通过在第一行添加这样的注释来告诉 Python 整个文件是 UTF-8 编码的。
\n\n# encoding: utf-8\nRun Code Online (Sandbox Code Playgroud)\n\n这是我在 Python 2.5.1 / OS X 10.5.6 上创建并运行的测试文件
\n\n# encoding: utf-8\nimport re\nx = re.compile("\xe2\x80\x93") \nprint x.search("xxx\xe2\x80\x93x").start()\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5002 次 |
| 最近记录: |