gpt4 book ai didi

Python UTF-8 正则表达式

转载 作者:行者123 更新时间:2023-11-28 21:49:09 24 4
gpt4 key购买 nike

我在尝试查找正则表达式中指定的文本时遇到问题。一切都很好,但是当我在我的正则表达式中添加“\£”时,它开始引起问题。我得到语法错误。文件 (...) 中的“非 ASCII 字符“\xc2”但未声明编码...

我试图通过使用来解决这个问题

import sys
reload(sys) # to enable `setdefaultencoding` again
sys.setdefaultencoding("UTF-8")

但这并没有帮助。我只想构建正则表达式并在那里使用井号。标志 re.Unicode 标志没有帮助,将字符串保存为 unicode (pat) 没有帮助。有没有解决这个正则表达式的方法?我只想构建正则表达式并在那里使用井号。感谢您的帮助。

                    k = text.encode('utf-8')
pat = u'salar.{1,6}?([0-9\-,\. \tkFFRroOMmTtAanNuUMm\$\&\;\£]{2,})'
pattern = re.compile(pat, flags = re.DOTALL|re.I|re.UNICODE)
salary = pattern.search(k).group(1)
print (salary)

即使我评论(输入“#”并跳过所有这些行,错误仍然存​​在。也许它与 re.library 无关,但与我的设置有关?

最佳答案

错误信息表示 Python 无法猜测您使用的是哪个字符集。它还告诉您可以通过告诉它脚本的编码来修复它。

# coding: utf-8
string = "£"

或等效

string = u"\u00a3"

如果没有编码声明,Python 会看到一堆字节,这些字节在不同的编码中表示不同的含义。它不是猜测,而是强制你告诉你它们的意思。这已编入 PEP-263 .

(ASCII 是明确的 [除非你的系统是 EBCDIC,我猜] 所以如果你对所有内容都使用纯 ASCII 表示,它知道你的意思。)

您摆弄的编码设置会影响文件和流的读取方式以及程序 I/O,但不会影响程序源代码的解释方式。

关于Python UTF-8 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33914593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com