Долбаный RegExMatch.

Статус
В этой теме нельзя размещать новые ответы.

Forfeit

Участник
Автор темы
69
12
В общем-то ребят, не могу никак решить проблему.
У меня есть строка в чате, выглядит она так:
Vasya_Pupkin[228]: [C-IP: 5.123.12.123] [L-IP:5.123.12.123] [R-IP: 96.123.18.123]
Всё написано чётко как есть, кроме ника, айдишника, ну и айпишников естественно.
В общем-то загружаю её через GetChatLine в переменную PIP1, загружается она прекрасно, тестил много раз - именно эта строка выводилась, что нужна.
Но мне нужно конкретно первый IP вытащить из самой строки, и больше ничего лишнего. В последствии чтобы этот IP запихнуть в переменную.
Формулу для RegExMatch не смог вывести, ни в какую не хочет. Кто шарит - от помощи не откажусь :help:
 

Jack_Savage

Участник
150
17
PIP1 := "Vasya_Pupkin[228]: [C-IP: 5.123.12.123] [L-IP:6.666.66.666] [R-IP: 77.777.77.777]"
RegExMatch(PIP1, "C-IP\: (.*)\] \[L-IP", value)
А если будет еще такое сообщение?(к примеру при бане игрока на некоторых серверах тоже пишут такое сообщение с айпишками)
Я так понимаю это поиск /getip...
Походу он хочет сделать что то чтобы не писать IP вручную для бана.
А если там найдет не то сообщение то будет печаль беда.
 

Adam_Rockwell

Активный
143
26
А если будет еще такое сообщение?

Что-то я не понял о каком конкретно сообщении ты говоришь)
То, что я скинул, работает только для определённого формата строки, собственно как и просил автор темы.
 

Jack_Savage

Участник
150
17
Мне лично так и непонятны "\", поэтому я использую такой способ:
PHP:
:
RegExMatch(chatlog, "\Q[" A_Hour ":" A_Min ":" A_Sec "] \E(.*)\Q[\E([0-9].*)\Q]: [C-IP: \E([0-9].*)\Q] [L-IP:\E([0-9].*)\Q] [R-IP: \E([0-9].*)\Q]\E\s`r`n", getper)
:
Вот это "\[" ?
\ нужен потому что [ является спец символом Regex.
А благодаря слешу можно экранировать символ и Regex не будет его считать спец символом.
 
Статус
В этой теме нельзя размещать новые ответы.