Python 用正则表达式解析二进制文件?

Python 用正则表达式解析二进制文件?,python,regex,python-3.x,Python,Regex,Python 3.x,我已经连接了两个字节类型的变量(用空格分隔),所以我可以将它作为一个变量发送到服务器(套接字编程)。我想弄清楚的是,如何将它们分开,并使用正则表达式将它们赋给它们的原始变量。我已经咨询过了,但这对我不起作用。是我尝试表达式后的输出,以便获得密码变量 ciphertext = re.match(b'\S', ciphertext) 它通常只匹配前两个字符并返回一个对象,这不是我想要的。我做错了什么 编辑:我可能做得很辛苦。老实说,关于如何使用UDP通过套接字发送2字节对象的任何建议。这真的很难为

我已经连接了两个字节类型的变量(用空格分隔),所以我可以将它作为一个变量发送到服务器(套接字编程)。我想弄清楚的是,如何将它们分开,并使用正则表达式将它们赋给它们的原始变量。我已经咨询过了,但这对我不起作用。是我尝试表达式后的输出,以便获得密码变量

ciphertext = re.match(b'\S', ciphertext)
它通常只匹配前两个字符并返回一个对象,这不是我想要的。我做错了什么


编辑:我可能做得很辛苦。老实说,关于如何使用UDP通过套接字发送2字节对象的任何建议。这真的很难

为什么要用正则表达式来做这件事?。您应该看看该模块:

[1]中的
:导入结构
在[2]中:magic=b'\xcf\xfa\xed\xfe'

在[3]中:decoded=struct.unpack(“最终使用str.rpartition来解决我的问题。这不是最明显的答案,但它起到了作用。

请在问题中包含您的输出,而不是作为屏幕截图的链接。但总而言之,您获得对象的原因是因为
re.match
返回的内容。它会返回一个
match对象
(如果字符串不匹配,则为
None
)这允许您处理匹配的文本。我不完全确定您希望该调用做什么。我可以使用structs将两个字节的对象组合成一个变量,然后可以重新分离吗?如果我可以从每个变量复制整个值并将其放入struct,那将是完美的,但它会不断剪裁值。
In [1]: import struct

In [2]: magic = b'\xcf\xfa\xed\xfe'

In [3]: decoded = struct.unpack('<I', magic)[0]

In [4]: hex(decoded)
Out[4]: '0xfeedfacf'