Python 3.x 如果找到匹配项,则返回位置
我正在处理一些二进制数据,这些数据在整个代码中具有相似的匹配。例如,“a6636f6f726473”就是其中一个匹配项。现在,我想反向搜索第一个匹配项,字母a和我还不知道的数字,并返回文件中找到的所有匹配项的位置 示例:在字符串Python 3.x 如果找到匹配项,则返回位置,python-3.x,string-parsing,Python 3.x,String Parsing,我正在处理一些二进制数据,这些数据在整个代码中具有相似的匹配。例如,“a6636f6f726473”就是其中一个匹配项。现在,我想反向搜索第一个匹配项,字母a和我还不知道的数字,并返回文件中找到的所有匹配项的位置 示例:在字符串a7a36d617815a7536b697070657284a6636f6f72647383中,我希望它找到A7536B6970657284A6636F6F72647383并返回位置12。唯一唯一的字符串是a6636f6f72647383,我想反向搜索它找到的第一个字符a
a7a36d617815a7536b697070657284a6636f6f72647383
中,我希望它找到A7536B6970657284A6636F6F72647383
并返回位置12
。唯一唯一的字符串是a6636f6f72647383
,我想反向搜索它找到的第一个字符a
,这给了我A75366970657284A6636F6F72647383
,然后我想找出a7
的位置
希望这是有意义的,有人可以推动我进入正确的方向,如何在Python中解析它
-感谢绿斗篷人把我推向正确的方向。我已经解决了我的问题,如果有人遇到同样的问题,我会分享我的发现,并与社区分享 普通python re不支持反向标志。我发现了一个最新的python模块,名为regex。你可以在
现在返回位置12?
re.finditer()
可能有助于查找所有事件,如果需要多个:str.find也可能有帮助@绿色斗篷也许管用,但我的正则表达式不强<代码>(?)?
a = [m.start(0) for m in regex.finditer(r'(?r)(?:a).*?(?=a6636f6f726473)', "a7a36d617815a7536b697070657284a6636f6f72647383")]
print(a)