我需要解析一个包含 FIX 协议消息的日志文件。
每行包含标题信息(时间戳、日志记录级别、端点),后跟一个 FIX 有效负载。
我使用正则表达式将标头信息解析为命名组。例如:
<?P<datetime>\d{2}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}.\d{6}) (?<process_id>\d{4}/\d{1,2})\s*(?P<logging_level>\w*)\s*(?P<endpoint>\w*)\s*
然后我来到 FIX 有效负载本身(^A 是每个标签之间的分隔符),例如:
8=FIX.4.2^A9=61^A35=A...^A11=blahblah...
我需要从中提取特定标签(例如,来自 35= 的“A”,或来自 11= 的“blahblah”),并忽略所有其他内容 - 基本上我需要忽略“35 = A”之前的任何内容,以及之后的任何内容到“11 = blahblah”,然后忽略之后的任何内容等。
我确实知道有一个库可以解析每个标签(http://source.kentyde.com/fixlib/overview),但是,如果可能的话,我希望在这里使用正则表达式的简单方法,因为我真的只需要几个标签。
正则表达式中是否有提取我需要的标签的好方法?
干杯,维克多