什么可能是null终止ASCII字符串的正则表达式?

时间:2012-04-06 11:03:04

标签: ruby regex null terminate

我正在使用Ruby读取一个文件,我能够过滤掉以固定大小格式存储的字符串。但是我希望过滤变量大小的字符串,最后使用一些正则表达式或其他东西留给我。

现在我正在使用以下行扫描字符串

s.scan(/(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.*)/).each do |f,g,h,i,j,k,l,m,n,p| 

但仍希望通过从中分隔空终止字符串来过滤此(。*)部分字符串。 我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

我真的不明白为什么你的正则表达式是这样的,但\0是正则表达式中使用的空字节(如果你喜欢十六进制代码,则为\x00)。基本上是:

"foo\x00bar".split(?\x00)
=> ["foo", "bar"]

"foo\x00bar" =~ /\0/
=> 3