我必须使用 Python 正则表达式找到一些特殊字符。例如,对于字符“à”, 我找到了一些十六进制代码来构建正则表达式模式:
r'\x61\x300|\xe0|\x61\x300'
但我担心我可能会错过一些其他十六进制代码。 如何找到一个字符的所有可能的十六进制代码?
这有点像 XY 问题。你想要类似的东西
import unicodedata as u
import re
result = re.findall(
u.normalize("NFC, "à"),
u.normalize("NFC", inputstring))
如果您愿意,可以使用另一种标准化;关键要求是对两个输入使用相同的标准化。但此类场景建议使用 NFC。
另请参阅 https://www.unicode.org/faq/normalization.html 和 标准化 Unicode