首页 > 解决方案 > 如何转义字节数组中的字符

问题描述

我正在从列表中创建一个字节数组。

mybytes_array = bytes([255,110,41,128,09])

然后我使用正则表达式来查找所有出现的

[(m.start(0), m.end(0)) for m in re.finditer(mybytes_array, ba)]

我可以使用任何值而不是 41 来为正则表达式创建元字符。我想转义那个字符,以便我可以匹配它ba也是一个字节数组

我怎样才能做到这一点?

我显然不能转换为字符串附加反斜杠,然后与 ba 匹配。所以我不确定如何更改 mybytes_array 以搜索正确的字符串。

标签: arrayspython-3.xregex

解决方案


只要参数的类型相同,该re包就可以同时处理str和输入。bytes

你可以用re.escape整个来逃避bytes

您的代码将类似于

[(m.start(0), m.end(0)) for m in re.finditer(re.escape(mybytes_array), ba)]

推荐阅读