Regex应该匹配二进制数据
本文关键字:二进制 数据 Regex | 更新日期: 2023-09-27 18:02:09
我必须解析一个数据文件。我想使用regex (.net),并开始使用这个表达式:
#mux:(?<mux>[a-z0-9 ]+)#|#curr: (?<curr>'d+)#|#pot:(?<pot>'d+)#|#data#(?<data>'w+)#EOC#
我的数据文件内容如下:
#pot: 80##curr: 200##mux: rp 0 1 rn 0 2##data# ... binary data ... #EOC#
这工作很好,只要我的数据是888,例如,但我的数据由二进制数据组成,所以我怎么能在正则表达式中做到这一点?我"只是"需要一个a结构,而不是我的数据模式中的'w+
,它匹配任何字符或字节值。
谢谢你的帮助。
我建议使用延迟点图案.*?
与RegexOptions.Singleline
选项:
#mux:(?<mux>[a-z0-9 ]+)#|#curr: (?<curr>'d+)#|#pot:(?<pot>'d+)#|#data#(?<data>(?s:.*?))#EOC#
^^^^^^^^
查看regex演示
它将尽可能少地匹配任何0+字符(直到第一个)#EOC#
。