解析数据块中的多个背靠背消息

2024-09-19 23:36:24 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上由一个固定的数据块组成。在

我正在使用python,我能想到的唯一方法是找到8=FIX.4.2标记的索引(表示消息的开头),然后返回到前一条消息的末尾,然后以此方式确定消息。在

我想知道这是否可以通过其他方式实现(例如regex)。我不确定如何在regex中应用分组构造。在

作为我正在查看的数据示例:

8=FIX.4.2|9=122|35=D|49=hello|56=def|34=2|52=19700116-14:18:06.790|11=000007|55=DUMMY|54=#|38=1000|40=1|44=77|60=19700116-14:18:06.790|59=0|10=148|8=FIX.4.2|9=122|35=D|49=hello|56=def|34=2|52=19700116-14:18:06.790|11=000007|55=DUMMY54=#|38=1000|40=1|44=77|60=19700116-14:18:06.790|59=0|10=148|

Tags: 数据方法标记消息示例hellodef方式
3条回答

split的问题是它从结果表达式中删除了分隔符。 这是split的回报。在

['', '9=122|35=D|49=hello|56=def|34=2|52=19700116-14:18:06.790|11=000007|55=IYH|54=#|38=1000|40=1|44=77|60=19700116-14:18:06.790|59=0|10=148|', '9=155|35=D|49=hello|56=def|34=2|52=19700116-14:18:06.790|11=000007|55=IYH|54=#|38=1000|40=1|44=77|60=19700116-14:18:06.790|59=0|10=148|']

我想我要找的方法是使用分组以及芬代尔. 在

完成后,我将发布表达式(因为我以前从未使用过)。在

messages = your_input.split('8=FIX.4.2|')
messages = [ m.split('|') for m in messages ]

您可以使用8=FIX.4.2作为split()的参数。在

相关问题 更多 >