我写了一个程序来读取Windows DNS调试日志,但是域字段内总是有一些奇怪的字符。
以下是其中的一个示例:
(13)\xc2\xb5\xc2\xb1\xc2\xbe\xc3\xa2p\xc3\xb4\xc2\x8d(5)example(3)com(0)'
我想将所有的\x..替换为
以下是其中的一个示例:
(13)\xc2\xb5\xc2\xb1\xc2\xbe\xc3\xa2p\xc3\xb4\xc2\x8d(5)example(3)com(0)'
我想将所有的\x..替换为
?
我明确地将\xc2键入如下:line = '(13)\xc2\xb5\xc2\xb1\xc2\xbe\xc3\xa2p\xc3\xb4\xc2\x8d(5)example(3)com(0)'
re.sub('\\\xc2', '?', line)
result: '(13)?\xb5?\xb1?\xbe\xc3\xa2p\xc3\xb4?\x8d(5)example(3)com(0)'
但如果我按照以下方式书写,它就无法正常工作:
re.sub('\\\x..', '?', line)
我该如何编写一个正则表达式来替换所有这些字符?
re.sub('[\x80-\xff]', '?', line)
。但请不要这样做,@wim的答案才是你应该选择的。 - Andrew Gelnar