1

Тема: Помощь с RegExMatch

Здравствуйте. У меня есть код:

FileRead, Str, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
StringReplace, Str, Str, `r`n, `n, 1
StringReplace, Str, Str, `r, `n, 1
RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+]\s*\Администратор .*?\[([0-9]+)\] для .*?\[([0-9]+)\]:\s*(?P<TEXT>.*)\n, Out)
MsgBox, %Out1% | %Out1% | %OutTEXT%
return

То что находится например в chatlog.txt



[13:30:14] Artem_Pavlowich[228] : Ку ку
[13:30:16] Администратор Vasya_Pypkin[111] для Pety_Pavlow[333]: Этот текст в перменной
[13:30:18] Sasha_Krasava[444] : {FFCD00}Администраторы, в gps гостиница LV где?

Мне нужно, чтобы брало текст только с 2 строки, но почему-то скрипт в перменную кидает весь текст, что с низу.
У меня получается вот так:

111 | 333 | Этот текст в перменной
[13:30:18] Sasha_Krasava[444] : {FFCD00}Администраторы, в gps гостиница LV где?

2

Re: Помощь с RegExMatch

lines=
Loop,Read,%a_scriptdir%\1.txt
{
  if !a_loopreadline
    continue
  lines++
  if lines=2
  {
    text:=a_loopreadline
    RegExMatch(text, "\[\d+:\d+:\d+]\sАдминистратор .*?\[([0-9]+)] для .*?\[([0-9]+)]:\s(.*)", Out)
    break
  }
}
MsgBox, %Out1% | %Out2% | %Out3%
Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.