Page 1 of 1

Помогите пожалуйста дописать код

Posted: 22 Jan 2022, 07:26
by Vladik2304
Помогите дописать код. Данный код копирует числа после Name_Surname[id]: 25 - код ниже скопирует число 25, а мне надо чтобы код копировал число, которое находится в [id]
Пример:
Ivan_Ivanov[25]: помогите
мне надо, чтобы код скопировал 25
Помогите пожалуйста

Code: Select all

Numpad1::
FileRead, Str, %chatlog%
StringReplace, Str, Str, `r`n, `n, 1
StringReplace, Str, Str, `r, `n, 1

RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+]\s*\ .*?\[.*?] : \s*(/`*.*?(\d+)\s.*?)\n", Match)
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}/sp %match2%{Enter}
Return

Re: Помогите пожалуйста дописать код

Posted: 22 Jan 2022, 14:27
by mcl
Vladik2304 wrote:
22 Jan 2022, 07:26
мне надо чтобы код копировал число, которое находится в [id]
В регулярке нужны круглые скобки в соответствующем месте, чтобы это число захватывалось.

Code: Select all

Numpad1::
...
RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+]\s*\ .*?\[(.*?)] : \s*(/`*.*?(\d+)\s.*?)\n", match)
; Если файл пуст, или в тексте не окажется подходящей под шаблон строки, что, по-вашему, должно произойти?
If (match1 != "") {
	SendMessage, 0x50,, 0x4190419,, A
	SendInput, {F6}/sp %match1%{Enter}
}
Return
После вызова RegExMatch, в переменной match1 будет id, в match2 − весь текст сообщения, в match3 − первое число в тексте сообщения.

P.S. Старайтесь давать как можно больше информации о решаемой задаче. Правильно поставленный вопрос − наполовину решён.