我需要解析包含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*
Run Code Online (Sandbox Code Playgroud)
然后我来到FIX有效负载本身(^ A是每个标签之间的分隔符),例如:
8=FIX.4.2^A9=61^A35=A...^A11=blahblah...
Run Code Online (Sandbox Code Playgroud)
我需要从中提取特定的标签(例如,来自35 =的"A",或来自11 =的"blahblah"),并忽略所有其他的东西 - 基本上我需要在"35 = A"之前忽略任何东西,以及之后的任何事情到"11 = blahblah",然后在那之后忽略任何事情等.
我知道有一个库可能能够解析每个标签(http://source.kentyde.com/fixlib/overview),但是,如果可能的话,我希望在这里使用正则表达式的简单方法,因为我真的只需要几个标签.
在正则表达式中有一个很好的方法来提取我需要的标签吗?
干杯,维克多