Ваше регулярное выражение было почти правильным, за исключением следующего:
- Сначала
\d{4}
должно было быть \d{2}
, поскольку год состоит только из двух цифр.Если вы думаете, что оно может содержать от 4 до 2 цифр, вы можете использовать \d{2,4}
/
, для которого необходимо экранировать символ в регулярном выражении, например \/
- вместо
.
нужно использовать :
, так как ваше время разделено двоеточиями.Хотя .
будет соответствовать любому символу и даже двоеточию, но я думаю, что вам лучше быть точным и использовать :
Таким образом, вы обновляете регулярное выражение, которое успешно соответствует строкам в ваших файлах журнала,
^(\d{2}\/\d{2}\/\d{2})\s+(\d{2}:\d{2}:\d{2})\s+(\S+)\s+(\S+)\s+(.*)$
Проверьте здесь
И если вы не хотите групп захвата, то с группами без захвата становится лучше,
^(?:\d{2}\/\d{2}\/\d{2})\s+(?:\d{2}:\d{2}:\d{2})\s+(?:\S+)\s+(?:\S+)\s+(?:.*)$
Без групп