python:二进制文件的正则表达式搜索模式(半个字节)

 xwt4818386 发布于 2023-02-13 12:07

我使用以下正则表达式模式在二进制文件中搜索0xDEAD4FAD:

my_pattern = re.compile(b"\xDE\xAD\x4F\xAD")

但是如何推广搜索模式以搜索0xDEAD4xxx?似乎无法切入半个字节

1 个回答
  • 正则表达式允许搜索范围.因此,要找到第一个半字节为"4"的字节,请使用:

    pattern = re.compile(b"[\x40-\x4F]")
    

    以下测试表明它产生了所需的输出:

    >>> for byte in ('\x3f', '\x40', '\x42', '\x4f', '\x50'): print bool(pattern.search(byte))
    ... 
    False
    True
    True
    True
    False
    

    要回答有关搜索0xDEAD4xxx的特定问题,请使用:

    my_pattern = re.compile(b"\xDE\xAD[\x40-\x4F].")
    

    2023-02-13 12:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有