用文件和正则表达式误解Python字节
我试图修改字节数据,我的文件是用用文件和正则表达式误解Python字节,python,python-3.x,Python,Python 3.x,我试图修改字节数据,我的文件是用b修饰符读取的 有时搜索将包含通配符,因此我使用re-它支持字节模式 比如说 re.finditer(b'\x00\x01\x00\x03\x7c', file) 我的问题是,\x7c在正则表达式中被解释为操作符 在所有其他情况下,字节搜索都可以正常工作,如何停止re解析?我是否误解了re或字节数据 谢谢 > python --version Python 3.8.1 将转义字符插入正则表达式(反斜杠\x5c)以转义管道应该可以: re.finditer
b
修饰符读取的
有时搜索将包含通配符,因此我使用re
-它支持字节模式
比如说
re.finditer(b'\x00\x01\x00\x03\x7c', file)
我的问题是,\x7c
在正则表达式中被解释为
操作符
在所有其他情况下,字节搜索都可以正常工作,如何停止re
解析?我是否误解了re
或字节数据
谢谢
> python --version
Python 3.8.1
将转义字符插入正则表达式(反斜杠
\x5c
)以转义管道应该可以:
re.finditer(b'\x00\x01\x00\x03\x5c\x7c', file)
值得注意的是,您可以在ByTestRing中输入字符串/字符文本,它们工作得很好,这使它更易于理解:
re.finditer(b'\x00\x01\x00\x03\|', file)
或者您可以先使用re.escape()
,这是一种更具扩展性和通用性的解决方案:
re.finditer(re.escape(b'\x00\x01\x00\x03\x7c'), file)
谢谢大家!<代码>重新逃跑是我所需要的。有趣的是,我也在
打印
进行调试,但实际上它仍然显示了
,即使正则表达式现在工作正常。