3

特别是在 Python 3.3 及更高版本中,使用简单匹配检查孤儿代理是否足够:

re.search(r'[\uD800-\uDFFF]', s)

基于所有合法代理都将被表示为星体代码点因此不匹配的假设,忽略非法代理,或者是否需要注意警告和边缘情况?

4

1 回答 1

2

对,那是正确的。代码单元 0xD800–0xDFFF 不代表宽 Unicode 字符串中的有效字符,并且在 Python 3.3+(遵循 PEP 393)中,所有 Unicode 字符串实际上都是宽的。

于 2015-09-14T21:16:33.237 回答