Квантификатор находится внутри названной группы, вы должны разместить его снаружи и, возможно, сделать его не жадным.
Обновленный шаблон может выглядеть так:
(?P<time>\d\d:\d\d:\d\d.\d\d\d)\s{1}(?P<date>\d\d/\d\d/\d\d)\s.*?(?P<pr>Pt\s{3}\d*[.]?\d*\s[a-z]+)
Обратите внимание на , что с текущим шаблоном номер не является обязательным, так как все кванторы являются необязательными. Вы также можете опустить {1}
.
Если число после Pt не может быть пустым, вы можете обновить шаблон, используя \d+(?:\.\d+)?
, сопоставив хотя бы один di git:
(?P<time>\d\d:\d\d:\d\d.\d{3})\s(?P<date>\d\d/\d\d/\d\d)\s.*?(?P<pr>Pt\s{3}\d+(?:\.\d+)?\s[a-z]+)
(?P<time>
Группа время \d\d:\d\d:\d\d.\d{3}
Соответствует формату времени )\s
Закрыть группу и сопоставить пробельный символ (?P<date>
Группа дата \d\d/\d\d/\d\d
Сопоставить дату как шаблон
)\s
Закрыть группу и сопоставить пробельный символ .*?
Соответствует любому символу, кроме символа новой строки, как минимум (?P<pr>
Группа pr Pt\s{3}
Соответствует Pt и 3 символы пробела \d+(?:\.\d+)?
Сопоставление 1+ цифр с необязательной десятичной частью
\s[a-z]+
Сопоставление символа пробела и 1+ символов az )
Закрыть группу
Regex demo