a = bytes.fromhex("555e2233")
re.findall(bytes.fromhex("5e"), a)
以上代码,re没有识别出里面有5e。
5e 对应的 字符为 ^。
而后尝试re.findall(b"\^", a) 此时便能识别了。
可以确定就是转义的问题。那么遇到re规定的所有特殊字符,都会出现这个问题。有没有一个函数,让re直接匹配,不进行转义。
目前我的后退操作是,将二进制转化为字符串,也就没有这个问题了,但是还是想知道内部机理。
期待您的解惑。
a = bytes.fromhex("555e2233")
re.findall(bytes.fromhex("5e"), a)
以上代码,re没有识别出里面有5e。
5e 对应的 字符为 ^。
而后尝试re.findall(b"\^", a) 此时便能识别了。
可以确定就是转义的问题。那么遇到re规定的所有特殊字符,都会出现这个问题。有没有一个函数,让re直接匹配,不进行转义。
目前我的后退操作是,将二进制转化为字符串,也就没有这个问题了,但是还是想知道内部机理。
期待您的解惑。
python re模块 正则表达式 https://blog.csdn.net/weixin_43999327/article/details/118559583