Используйте на свой страх и риск .
Предполагается, что все поля возвращают что-то , за исключением тех, которые вы пометили звездочками (это означает, что звездочка означает)?Существуют также очевидные случаи сбоев, такие как вложенные скобки любого типа, но если регистратор печатает разумно нормальные сообщения, тогда, я думаю, с вами все будет в порядке ...
Конечно, даже лично я бы не хотелчтобы поддерживать это, но у вас есть это.Возможно, вы захотите вместо этого написать обычный старый парсер, если можете.
Редактировать : помечено как CW, так как это скорее "интересно, как это получитсявид ответа больше всего на свете.Для краткости, это то, что я построил в рубрике:
^[^[]+\s+(\w+)\[(\d+)\]:([^:]+):(\d+)\s+\[([^\]]+)\]\s+[^\s]+\s+(\w+)\/(\w+)\s+(\d+)\/(\d+)\/(\d+)\/(\d+)\/(\d*)\s+(\d+)\s+(\d+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s(\d+)\/(\d+)\/(\d+)\/(\d+)\/(\d+)\s+(\d+)\/(\d+)\s+\{([^}]*)\}\s\{([^}]*)\}\s+\"([^"]+)\"$
Моим первым языком программирования был Perl, и даже я готов признать, что меня это пугает.