我的文件包含一些文本数据。我需要从这个文件中获取所有有趣的字符串。所有有趣的字符串都以“\ x01 \ x00 \ x00 \ x00”和“\ x00”为框架。我尝试使用下面的正则表达式来找到这些字符串:
(\x01\x00\x00\x00[\u0000-\uFFFF]+\x00)
但它无法正常工作。我究竟做错了什么?完整的代码在这里:
# -*- coding: utf-8 -*-
import re
file = open(r"H:\1705\test.adb")
temp = file.readlines()
resString = ""
for line in temp:
resString += line
p = re.compile(ur"(\x01\x00\x00\x00[\u0000-\uFFFF]+\x00)", re.UNICODE)
res = p.finditer(resString)
for match in res:
print match.group()[0].decode("cp1251")
答案 0 :(得分:0)
在正则表达式中,反斜杠会转义特殊字符以抑制其特殊含义,例如,如果您想使用正则表达式搜索点,则可以使用\.
。
要搜索反斜杠,您需要使用\\
,从而导致您的可搜索字符串
\\x01\\x00\\x00
等等。