【发布时间】:2016-08-29 11:17:16
【问题描述】:
Python
我想打开一个文本文件,搜索以 45 3F 开头的 HEX 模式,获取以下十六进制 6 HEX 值,例如 45 4F 5D 并将所有这些放入一个新文件中。我也知道它总是以 00 00 结尾。
所以文件看起来像: bla bla sdsfsdf 45 3F 08 DF 5D 00 00 dsafasdfsadf 45 3F 07 D3 5F 00 00 xztert
并且应该像这样放在一个新文件中: 08 东风5D 07 D3 5F
我该怎么做?
我试过了:
output = open('file.txt','r')
my_data = output.read()
print re.findall(r"45 3F[0-9a-fA-F]", my_data)
但它只打印:
[]
有什么建议吗?
谢谢你:-)
【问题讨论】:
-
您的示例数据在
3F之后有一个空格,您的正则表达式不允许这样做。 -
您的正则表达式也只查找单个字符。你想使用
'45 3F ([0-9A-F]{2} [0-9A-F]{2} [0-9A-F]{2})'。 -
这个文件有二进制数据还是 ASCII 中的十六进制值(即文本文件)?因为这是两个不同的东西。
-
现在一切正常,谢谢 :-)
标签: python