Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 用什么正则表达式可以读取文件第一行的前几个字节,然后读取除最后一行的最后8个字节之外的其余文件内容?_Ruby_Regex_File_Byte - Fatal编程技术网

Ruby 用什么正则表达式可以读取文件第一行的前几个字节,然后读取除最后一行的最后8个字节之外的其余文件内容?

Ruby 用什么正则表达式可以读取文件第一行的前几个字节,然后读取除最后一行的最后8个字节之外的其余文件内容?,ruby,regex,file,byte,Ruby,Regex,File,Byte,我正在处理一个二进制文件,我想在其中检索前4个字节,后4个字节,再检索4个字节,然后检索除最后一行最后8个字节之外的其余文件内容 我试过使用这一行file.read.scan(/(.{4})(.{4})(.{4})(.*\w)(.{8}/)。每一行都有| a,b,c,d,e |但是经过一些迭代之后,这个正则表达式从中间的某一行开始,具有前4个字节,后4个字节,后4个字节的模式。因此,我的状况检查失败 我想做以下事情。 读取文件第一行的前4个字节,然后读取字节5到7,然后读取字节8到11,然后读取

我正在处理一个二进制文件,我想在其中检索前4个字节,后4个字节,再检索4个字节,然后检索除最后一行最后8个字节之外的其余文件内容

我试过使用这一行
file.read.scan(/(.{4})(.{4})(.{4})(.*\w)(.{8}/)。每一行都有| a,b,c,d,e |
但是经过一些迭代之后,这个正则表达式从中间的某一行开始,具有前4个字节,后4个字节,后4个字节的模式。因此,我的状况检查失败

我想做以下事情。 读取文件第一行的前4个字节,然后读取字节5到7,然后读取字节8到11,然后读取除文件最后一行的最后8个字节之外的其余文件内容

Ruby中的正则表达式是什么?

如何:

/(.{4})(.{3})(.{4})(.*).{8}/m
那么:

/(.{4})(.{3})(.{4})(.*).{8}/m
使用#read而不是regexp:

f = File.open(file_name,"rb")
chunk1 = f.read(4)
chunk2 = f.read(3)
chunk3 = f.read(4)
chunk4 = f.read(f.size - (4 + 3 + 4 + 8))
使用#read而不是regexp:

f = File.open(file_name,"rb")
chunk1 = f.read(4)
chunk2 = f.read(3)
chunk3 = f.read(4)
chunk4 = f.read(f.size - (4 + 3 + 4 + 8))

你应该回去接受一些关于旧问题的答案。你应该回去接受一些关于旧问题的答案。