【发布时间】:2015-02-19 15:25:48
【问题描述】:
我的代码:
f = open("file.bin", 'rb')
s = f.read()
str1 = ''.join(re.findall( b'\x00\x00\x00\x12\x00\x00\x00(.*?)\x00\x01\x00\x00', s )[0])
我有一些二进制文件,我想从中提取信息(字符串)。此文件中的信息/字符串看起来像“[DELIMITER]String1[DELIMITER]STRING2”...这些文件中使用的分隔符总是不同的,但 00 总是相同的,所以一个好的解决方法是告诉正则表达式 @987654322 @ 和 \x01 可以是任何东西。
所以我需要的是
str1 = ''.join(re.findall( b'\x00\x00\x00\x[ANYTHING]\x00\x00\x00(.*?)\x00\x[ANYTHING]\x00\x00', s )[0])
如何在正则表达式中做到这一点?
【问题讨论】: