В patern указывается RegEx шаблон строки без времени в квадратных скобках.
С помощью loop'а находит последний подходящий результат.
tipochatlog =
(
[10:03:04] [R] Мл.Сержант Samoed_Don: 10-14 Pavel Egorov и Andre Lincoln в КПЗ ЛСПД
[10:03:16] SFPD Лейтенант Ivan_Pupkin: 10-14 Pavel Egorov - СИЗО LSPD!
[10:10:12] Объявление: Куплю чай. Прислал: Alberto_Ricki. Тел: 171317
[10:10:12] Отредактировал сотрудник SF News: Sigizmunz_Batsifalof
)
patern := "\[R\] .+ \w+_\w+:\s+\d+-\d+ .+"
loop
found := finded
, pos := RegExMatch(tipochatlog,"UO)(\[(?:\d\d:{0,1})+]\s+(" patern "))(?:`n|$)"
, finded,(A_Index=1)?(pos:=1):pos) + StrLen(finded.1)
Until !finded.1
msgbox % found.2
Пользовательский шаблон(то что в переменной patern) Можно прочесть так:
\[R\] .+ \w+_\w+:\s+\d+-\d+ .+
Начало строки начинается с [R]. пробел. Затем указываем что идет неизвестное количество символов и даже пробелы(это звание, так как как оно может указываться либо одним либо нескольким словами), после звания должны быть еще два слова на латинице(это имя фамилия). Дальше указываем что идет неизвестное количество пробельных символов. Затем цифры через тире формата 00-00 и пробел. Дальше может быть любой текст.