У меня журналы Windows агрегируются на сервер системного журнала, который немного портится с форматом, и я пытаюсь поработать с регулярным выражением (PCRE), чтобы немного его переформатировать, чтобы я мог извлечь некоторые пары ключ / значение
Я сам попробовал регулярное выражение, но я застрял в том факте, что в каждом разделе «Сообщение» есть несколько «Заголовков», в которых под ними определены пары ключ / значение.
Примером может быть:
An attempt was made to access an object. Subject: Security ID: NT AUTHORITY\SYSTEM Account Name: NAME$ Account Domain: DOMAIN Logon ID: 0x3e7 Object: Object Server: Security Object Type: File Object Name: Z:\PATH\PATH\PATH\file.log Handle ID: 0x9b0 Process Information: Process ID: 0xa84 Process Name: C:\Program Files\PROGRAM\EXECUTABLE.exe Access Request Information: Accesses: ReadData (or ListDirectory) Access Mask: 0x1
Заголовками будут информация о субъекте, объекте и процессе.
Единственный разделитель, где я, похоже, застрял - это \ s независимо от заголовка или пары.
Это сблизило меня.
\s([^:\s]+)\:[\s]([^\s]*)
но захватывает только первое слово в заголовке или ключе из нескольких слов.
Если / s является единственным разделителем, будет ли это возможно?