【发布时间】:2021-04-04 05:07:26
【问题描述】:
我正在处理一些在整个代码中具有相似匹配的二进制数据。例如,“a6636f6f726473”就是其中之一。现在我想对第一个匹配项、字母 a 和我还不知道的数字进行反向搜索,并返回文件中所有找到的匹配项的位置。
示例:在字符串a7a36d617815a7536b697070657284a6636f6f72647383 中,我希望它找到a7536b697070657284a6636f6f72647383 并返回位置12。唯一唯一的字符串是a6636f6f72647383,并且想要对它找到的第一个字符a 进行反向搜索,这给了我a7536b697070657284a6636f6f72647383,然后我想找出a7 的位置。
希望这有任何意义,有人可以推动我进入有关如何在 Python 中解析它的正确方向。
-J
【问题讨论】:
-
re.finditer()可能会帮助您找到所有匹配项,如果您想要多个匹配项:stackoverflow.com/questions/3519565/… -
str.find 也有帮助!
-
@GreenCloakGuy 这可能有用,但我的正则表达式并不强。
(?<=a[0-9])(.*?)(?=a6636f6f726473)我只需要找到它在a6636f6f726473的反向匹配中遇到的第一个a。因为在a和a6636f6f726473之间,它是一个随机的十六进制值。