使用在python上搜索十六进制数

2024-09-07 10:01:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个html文本文件,并对十六进制数进行如下搜索:

example    \xb7\xc7\xa0....

我试过用这个密码

^{pr2}$

但我只能得到空名单。在

请说出正确的代码编写方法。在


Tags: 方法代码密码examplehtmlxa0文本文件名单
3条回答

对我来说很好。有两种情况可能会解释您的问题:

  1. 通过将字符串赋给变量line来测试这一点,如下所示:

    line = 'example    \xb7\xc7\xa0....'
    

    在这种情况下,您需要转义反斜杠:

    ^{2美元
  2. 您将文件或行的内容作为Python字符串查看,因此您看到的\xb7实际上是代码为b7hex的字符,而不是字符序列{}。在

你的代码很适合我:

>>> line = r'\xb7\xc7\xa0....'
>>> t=re.findall (r'\\x[0-9a-fA-F]+', line)
>>> t
['\\xb7', '\\xc7', '\\xa0']

如果反斜杠在正则表达式中转义,则代码可以正常工作:

t = re.findall (r'\\x[0-9a-fA-F]+', line)

结果:

^{pr2}$

表意字符:http://ideone.com/MPO5j


如果它不起作用,那可能是因为字符串包含字面二进制字符。那就试试这样的方法吧:

t = re.findall (r'[\x80-\xff]', line)

表意字符:http://ideone.com/ChIsh

相关问题 更多 >