arrays - 如何转义字节数组中的字符
问题描述
我正在从列表中创建一个字节数组。
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 以搜索正确的字符串。
解决方案
只要参数的类型相同,该re
包就可以同时处理str
和输入。bytes
你可以用re.escape
整个来逃避bytes
。
您的代码将类似于
[(m.start(0), m.end(0)) for m in re.finditer(re.escape(mybytes_array), ba)]
推荐阅读
- python-3.x - Python cv2返回其他大小的numpy数组而不是指定的
- spring - 在 Chrome 中的 Oauth2 重定向期间 Cookie 丢失
- wordpress - 永久链接和自定义分类/自定义帖子类型的问题
- asp.net - 如何在 .net API 代码中查找对 API 端点的请求被处理的位置?
- android - 如何使向上按钮返回而不是打开导航抽屉
- android - javax.net.ssl.SSLHandshakeException:使用 okhttp3:okhttp:4.2.2 在 api 级别 28 和 29 上握手失败
- python - 如果匹配后续捕获组,是否可以使 Python 正则表达式捕获组不匹配?
- javascript - 如何在点击时获取动态添加元素的索引号
- python - 熊猫:如何将字符添加到数据框中的所有整数列
- java - 如何使用 Java 8 和 Spark 2.3.0 创建 SparkSession