[Вопрос] Поиск строки через RegExMatch - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Вопрос] Поиск строки через 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 ()
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 ()
\w - никнейм

Только вон никнейм в переменной cry
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 пиратка и лицензия
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума