[Вопрос] Поиск строки через RegExMatch
|
|
Nazob |
Дата: Понедельник, 22.02.2016, 19:45 | Сообщение # 1
|
Новичок
Сообщений: 5
Статус: Offline
|
Код !1:: 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 ) obr:="Samoed_Don" RegExMatch(tipochatlog, "?", nashlo) MsgBox, % nashlo1 return Есть переменная (obr), её значение всегда меняется. Как её "запихнуть" в шаблон RegExMatch'a? С возможностью добавить её в некий шаблон.
Сообщение отредактировал Nazob - Понедельник, 22.02.2016, 19:47 |
|
|
|
tumkin |
Дата: Понедельник, 22.02.2016, 23:30 | Сообщение # 2
|
Tumkin Project
Сообщений: 1186
Статус: Offline
|
прямо в регулярку вставлять переменную
|
|
|
|
Demy |
Дата: Вторник, 23.02.2016, 15:20 | Сообщение # 3
|
Бывалый
Сообщений: 422
Статус: Offline
|
Код RegExMatch(tipochatlog, obr, nashlo)
AutoReporter / http://cheat-master.ru/forum/150-486717-1 Finder / http://cheat-master.ru/forum/160-497245-1 DLQ Binder / http://cheat-master.ru/forum/150-594163-1
У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
|
|
|
|
Nazob |
Дата: Вторник, 23.02.2016, 19:26 | Сообщение # 4
|
Новичок
Сообщений: 5
Статус: Offline
|
Цитата Demy ( ![Ссылка на цитируемый текст](http://s95.ucoz.net/img/fr/ic/4/lastpost.gif) ) RegExMatch(tipochatlog, obr, nashlo)
На выходе только значение переменной, а не вся строка.
|
|
|
|
MorkoWka1 |
Дата: Вторник, 23.02.2016, 22:32 | Сообщение # 5
|
Любитель
Сообщений: 31
Статус: Offline
|
Код RegexMatch(tipochatlog, "(\w+)", nashlo) \w - никнейм
программист.
|
|
|
|
Nazob |
Дата: Среда, 24.02.2016, 10:58 | Сообщение # 6
|
Новичок
Сообщений: 5
Статус: Offline
|
Цитата MorkoWka1 ( ![Ссылка на цитируемый текст](http://s95.ucoz.net/img/fr/ic/4/lastpost.gif) ) \w - никнейм Только вон никнейм в переменной
|
|
|
|
MrGPro |
Дата: Среда, 24.02.2016, 14:57 | Сообщение # 7
|
Боец
Сообщений: 202
Статус: Offline
|
Кину пример разработанный мною для определения ника в чате ---------------------------------------------------------------------------- Пример чат лога [01:38:19] MrGPro[24] говорит: Братка это афк дай Meds ----------------------------------------------------------------------------
Пример *части чтения моего чат лог: (поиск по ключевым словам) ---------------------------------------------------------------------------- IfInString, stroka, говорит: { if (InStr(stroka, "Meds")) or (InStr(stroka, "Таблетки")) { RegExMatch(stroka, "\Q] \E(.*)\Q[\E", Nick) Sendinput {F6}Братка под ником %Nick1% держи медс{ENTER} } } ----------------------------------------------------------------------------
Кратко о том как получить переменные ник с чата. Берем 2 маркера которые всегда повторяются, В моем примере я взял: 1 скобку которая закрывает тайм-штамп ] 2 скобка которая открывает id [ Затем пишем регматч для индификации(учитывая пробел перед ником) \E(.*)\Q Записываем в переменную Nick
В твоем случаи нужно многоразовая проверка по рангам вот твои 1 маркеры [R] Мл.Сержант SFPD Лейтенант а 2 маркер всегда :
Тебе помогли не забывай про благодарность >> тыкни репутацию ---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ ----------------------------------------------------- Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия
Сообщение отредактировал MrGPro - Среда, 24.02.2016, 15:05 |
|
|
|
Nazob |
Дата: Четверг, 25.02.2016, 14:12 | Сообщение # 8
|
Новичок
Сообщений: 5
Статус: Offline
|
Хорошо, распишу по другому.
Код F1:: chatlog = ( [10:31:03] [311] Evgenii_Simak ранг: 2 [10:31:03] [315] Nikita_Volya ранг: 5 [10:31:03] [333] Niko_Anjello ранг: 4 ) rang:="Evgenii_Simak" Regexmatch(chatlog, "\[.*\] \[.*\] %rang% ранг:.*", nashlo) Зная шаблон строки, и её часть(но в переменной) надо найти эту строку. То есть, после этого RegExMatcha на выходе мне надо иметь эту строку: [10:31:03] [311] Evgenii_Simak ранг: 2 Только вот как засунуть переменную в шаблон?
|
|
|
|
MrGPro |
Дата: Пятница, 26.02.2016, 01:24 | Сообщение # 9
|
Боец
Сообщений: 202
Статус: Offline
|
То есть ты хочешь через переменную rang:="Evgenii_Simak" Выполнить проверку по чат логу на наличие этой переменной и если есть совпадение вывести всю данную строку или часть строки? Приведу свой пример
Код f10:: SetTimer, start, on Loop, read, %Filename% nstroki=%A_Index% return
start: if on=2 if block=1 goto start FileReadLine, stroka, %Filename%, %nstroki% if ErrorLevel { nstroki-=1 goto start } if stroka= { nstroki+=1 goto start } IfInString, stroka, Игрок в чёрном списке МЧС. ; Поиск точной строки { Sendinput {F6}/c %Nick1%, ты занесен в чёрный список М.Ч.С {ENTER} ; если есть выполняем некое действие sleep 1000 } } IfInString, stroka, >> ПМ от ; поиск по фразам { if (InStr(stroka, "heal")) or (InStr(stroka, "хиал")) or (InStr(stroka, "hael")) or (InStr(stroka, "лечи")) { RegExMatch(stroka, "\Q] >> ПМ от \E(.*)\Q(\E", Nick) Sendinput {F6}/heal %Nick1% %b%{ENTER} Sleep 300 nstroki+=1 goto start } nstroki+=1 goto start return return
Потом просто в выполнение некой функции подключии вывод стоки с данной переменной Возможно будет полезно - не реклама
Тебе помогли не забывай про благодарность >> тыкни репутацию ---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ ----------------------------------------------------- Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия
|
|
|
|