这是我昨天问的一些问题的一点后续,因为我们目前正在寻找其他方法来解决我们正在尝试做的事情。我们正在打开一个.bin文件并找到一个特定的模式,因为它包含我们要查找的数据。因此,我们正试图通过正则表达式匹配来恢复这一点,到目前为止,它仍然处于测试阶段,我们有以下几点:
import re,sys
f = open ('file.txt','w')
file = open('file.bin', 'rb')
data = file.read()
messages=re.search(b'\x03\x07\x91\x44(.*)\xFF\xFF',data)
f.write(repr(messages))
它是基本的,只需打开一个文件进行写入,打开我们要查找的文件,然后应该搜索字节字符串'\x03\x07\x91\x44 anything\xFF\xFF'当前仅在1个匹配之后,但一旦工作,它将移动到findall,并将查找结果报告到一个文件。但它与以下字符串匹配:
匹配=b'\x03\x07\x91D\x97\x85x\x89\x97\x04\x0c\x91DW\x93>
它似乎完全忽略了\x44并在91之后收集了任何东西,有人知道如何解决这个问题还是我遗漏了一些基本的东西?你知道吗
正则表达式不应该用双反斜杠吗?你知道吗
这有用吗?你知道吗
见:https://regex101.com/r/pF8gG1/1
它确实找到了你想要的。匹配的字符“D”的ascii值为0x44
相关问题 更多 >
编程相关推荐