Python not运算符上的正则表达式查询
我有一个混合模式的字符,数字和十六进制字符,如下面的一个Python not运算符上的正则表达式查询,python,regex,Python,Regex,我有一个混合模式的字符,数字和十六进制字符,如下面的一个 \x20\x20\x20asdasd\x20\x20\x20asd\x20a12v\x20123123\x20\x20 使用regex,我只想找出那些不是十六进制模式的,比如asdasd、a12v。123123 E.x:不是(\[xX]\d{2}) 最终目标是将所有内容转换为十六进制格式 \x20\x20\x20\x61\x73\x64\x61\x73\x64\x20\x20\x20\x61\x73\x64\x20\x61\x31\x
\x20\x20\x20asdasd\x20\x20\x20asd\x20a12v\x20123123\x20\x20
\x20\x20\x20\x61\x73\x64\x61\x73\x64\x20\x20\x20\x61\x73\x64\x20\x61\x31\x32\x76\x20\x31\x32\x33\x31\x32\x33\x20\x20
如何做到这一点
谢谢。您可能可以使用正则表达式执行此操作,但它可能非常容易出错,因为您需要使用正则表达式帐户来处理所有其他转义可能性(例如,八进制转义),这会变得相当混乱。:) 相反,请先尝试使用str.decode取消转义数据:
s = '\\x20\\x20\\x20asdasd\\x20\\x20\\x20asd\\x20a12v\\x20123123\\x20\\x20'
s = s.decode('string-escape')
s = ''.join('\\x%2x' % ord(c) for c in s)
最后一步,可能有一个更快的方法。但我只是举了个例子。谢谢你的回答。我想这解决了我的问题。再次非常感谢。