【发布时间】:2016-11-09 22:51:36
【问题描述】:
我正在运行这样的片段:
p = re.compile(b'^((?!-)[*A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,6}$')
m = p.match(domain)
'domain' 是从 google dns 获取的 IP 地址。我知道解码有问题,所以我在编译后尝试对正则表达式进行编码,但仍然收到这样的错误通知,
Traceback (most recent call last):
File "D:\python34\lib\threading.py", line 921, in _bootstrap_inner
self.run()
File "update.py", line 101, in run
if validate_domain(domain):
File "update.py", line 182, in validate_domain
m = pattern.match(domain)
TypeError: can't use a bytes pattern on a string-like object
你能给我一些关于这种情况的提示
!!!编程语言:python 3.4
【问题讨论】:
-
摆脱
b -
谷歌上给定错误消息的第一个链接是duplicate
-
您使用
b''而不是r''的任何原因?
标签: python regex decode encode bytecode