Python 查找除空字节正则表达式以外的所有内容

Python 查找除空字节正则表达式以外的所有内容,python,regex,Python,Regex,我试图分析的文件充满了大量空字节(\x00)。\S命令(或各种其他空白命令)不起作用。我很好奇如何检索除空字节以外的所有内容 如果可以执行类似于\x01 xFF(返回该字节范围内的所有值)的操作,则可以按预期工作。但据我所知,正则表达式只能搜索单个字节,而不能搜索一系列字节。如何返回空字节之间的所有字符串?匹配非空字符的正则表达式是: r"[^\x00]" 但您需要删除所有空字符,并且满足以下条件: s = s.replace("\x00", "") 其中,s是输入字符串。您可以使用字符串方

我试图分析的文件充满了大量空字节(
\x00
)。
\S
命令(或各种其他空白命令)不起作用。我很好奇如何检索除空字节以外的所有内容


如果可以执行类似于
\x01 xFF
(返回该字节范围内的所有值)的操作,则可以按预期工作。但据我所知,正则表达式只能搜索单个字节,而不能搜索一系列字节。如何返回空字节之间的所有字符串?

匹配非空字符的正则表达式是:

r"[^\x00]"
但您需要删除所有空字符,并且满足以下条件:

s = s.replace("\x00", "")
其中,
s
是输入字符串。

您可以使用字符串方法删除
\x00

your_string.translate(None, '\x00') 
对于文件,您可以执行以下操作:

open('in_file.txt').read().translate(None, '\x00') 
或者你可以在你的线条上循环,并在线条上应用它!如果要拆分字符串,可以使用
str.split()


这不是你问题的答案,但正则表达式可以搜索字符范围。例如,
[a-z]
将匹配任何小写字母<代码>[a-z0-9]将匹配任何小写字母或数字。我知道这一点,但无论如何,谢谢。我只是不确定是否可以使用字节。谢谢,我似乎在尝试匹配整个字符串,而不是逐个字符<代码>[^\x00]+按预期工作。在python文档中,
^
被列为“匹配字符串的开头”而不是“不”?括号内的
^
的意思是“不”?这也是一个很好的答案,我想拆分字符串,而不是将它们全部串联在一起。@Calibre,这样您就可以使用
str.split()
签出编辑了!
>>> s='this\x00isat\x00hes'
>>> s.split('\x00')
['this', 'isat', 'hes']