Sven Rautenberg: regexp: Zerlegen einer Zeile mit _zwei_ unbekannten Teil-Mustern

Beitrag lesen

Moin!

Diese Zeile enthält eine Menge definierter Spalten. Die meisten davon sind
zuverlässig whitespace-frei, und der Apache verwendet ja auch Leerzeichen
als Trenner zwischen zwei Spalten.

Und die Zeilen für User-Agent etc. verwenden Anführungsstriche, um den String von trennenden Whitespaces zu trennen. Du hast also eine eindeutige Zuordnung.

Jedenfalls ist das bei meinen Apache-Logfiles so, und die sind "combined", was eines der Standardformate ist.

Es kann durchaus sein, daß das Log-Zeilenformat explizit die Anführungsstriche mit angibt - dann solltest du das auch machen. Oder (falls dir Anführungsstriche nicht sicher genug sind) ein anderes Zeichen (bzw. Zeichenkombination) dafür verwenden.

- Sven Rautenberg