二进制字符串的Java正则表达式

二进制字符串的Java正则表达式,java,regex,Java,Regex,首先,我需要将一个二进制字符串从文件读入内存-如何? 为了读取,我尝试了nio.CharBuffer,然后是byte[]。 但后来我需要得到一个包含所有可能的二进制数据的二进制字符串来执行正则表达式,所以这并没有成功 然后,我需要从这个二进制字符串中提取二进制序列,并将它们保存在每个单独的二进制文件中。正则表达式类似于“some_string\0{4}\2.+?\0{10}”,some_string后跟一个空格,然后是\2字节,然后是二进制数据,然后是10个空字节 您有什么建议?不过,我不确定您

首先,我需要将一个二进制字符串从文件读入内存-如何? 为了读取,我尝试了nio.CharBuffer,然后是byte[]。 但后来我需要得到一个包含所有可能的二进制数据的二进制字符串来执行正则表达式,所以这并没有成功

然后,我需要从这个二进制字符串中提取二进制序列,并将它们保存在每个单独的二进制文件中。正则表达式类似于“some_string\0{4}\2.+?\0{10}”,some_string后跟一个空格,然后是\2字节,然后是二进制数据,然后是10个空字节


您有什么建议?

不过,我不确定您在这里使用的工具是否正确

  • 确保使用1字节编码(如ISO-8859-1)在字符串和字节[]之间进行转换
  • 请注意,regexp中的“.”不包括行尾字符,因此您可能希望改用[\0..\255]