Мне нужно проанализировать файлы журналов, которые содержат сообщения протокола FIX.
Каждая строка содержит информацию заголовка (отметка времени, уровень ведения журнала, конечная точка), за которой следует полезная нагрузка FIX.
Я использовал regex для разбора информации заголовка на именованные группы. E.g.:
<?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...
Мне нужно извлечь из этого определенные теги (например, «A» из 35 = или «blahblah» из 11 =) и игнорировать все остальные вещи - в основном мне нужно что-то игнорировать до «35 = A», и что-нибудь после "11 = бла-бла", затем игнорируйте что-нибудь после этого и т. д.
Я знаю, что есть библиотеки, которые могут анализировать каждый тег (http://source.kentyde.com/fixlib/overview),, однако, я надеялся, что здесь будет возможен простой подход с использованием регулярных выражений, поскольку мне действительно нужна только пара тегов.
Есть ли в regex хороший способ извлечь нужные мне теги?
Ура,
Victor