Python RegEx模式似乎忽略了部分模式

2024-09-28 18:48:51 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我昨天问的一些问题的一点后续,因为我们目前正在寻找其他方法来解决我们正在尝试做的事情。我们正在打开一个.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之后收集了任何东西,有人知道如何解决这个问题还是我遗漏了一些基本的东西?你知道吗


Tags: 文件方法字符串redatabinopenfile