AHK| RegExMatch - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
AHK| RegExMatch
Stepanik537 Дата: Среда, 14.02.2018, 15:56 | Сообщение # 1
Новичок
Сообщений: 1
Статус: Offline
Привет. Объясняю суть моей проблемы: у меня очень слабое познание в regexmatch на ахк и даже на Regex101 - online regex editor and debugger(https://regex101.com/) я мало чего могу сделать. В общем, я пишу свой скрипт для SA:MP и там у меня при отыгровке инвайта игрока, его увольнения, выдачи выговора итд пишутся действия в текстовый документ в формате Дата || Время || Действие || Nick_Name || №скриншота.
И сейчас у меня дошли руки до того, чтобы переписать GUI для скрипта и принял решение сделать вывод информации из этого файла в ListView, который можно как показать так и спрятать. При загрузке скрипта файл уже читается и все переводится в переменную A_LoopReadLine, после чего обрабатывается в регексе и выводится в listview. Хочу сделать что-то наподобие сортировки и выводить данные по пункту, выбранному в dropdownlist, но...
Проблема-то в том, что у меня эти "out" пустые и я не знаю, как правильно написать RegExMatch для строчки, подобной вот этой.
Цитата
11 Февраль 2018 || 00:26 || Принятый игрок || Antonio_Mon || Скриншот: 13


Код
Gui, Add, ListView, x389 y25 w604 h418 vListlog, Дата|Время|Никнейм|Скриншот
Loop, read, %A_AppData%\[AHK] Min Defence\logfiless.txt
    if A_LoopReadLine {
    RegExMatch(A_LoopReadLine, "([0-9]*) ([А-я]*) ([0-9]*) \|\| ([0-9]+):([0-9]+) \|\| Принятый игрок \|\| ([A-z_]+) ([A-z_]+) \|\| Скриншот: ([0-9]*)", out)
    Gui, Font, CDefault s8
    AddRow(out1 " " out2 " " out3 "," out4 "," out5 ":" out6 "," out7 "_" out8 "," out9)
    sleep, 10
    }


Помощь требуется в строчке с RegExMatch и AddRow(out1, .......).

на AddRow используется функция:

Код
AddRow(Data, Delimiters=",")
{
   CurColCount := LV_GetCount("Column")
   LV_Add("")
   CurRowCount := LV_GetCount()
   Loop, parse, Data, %Delimiters%
   {
      if(A_Index>CurColCount)
         LV_InsertCol(A_Index, "", "column_" . A_Index)
      LV_Modify(CurRowCount, "Col" . A_Index, A_LoopField)
   }
   LV_ModifyCol()
   return
}
Toopie Дата: Среда, 14.02.2018, 18:06 | Сообщение # 2
Боец
Сообщений: 122
Статус: Offline
В регулярных выражениях в AHK нет модуля А-Яа-я:
Код

^(\d{1,2})\s(.*)\s(\d{4})\s\|\|\s(\d{2}):(\d{2})\s\|\|\sПринятый\sигрок\s\|\|\s(\w+)_(\w+)\s\|\|\sСкриншот:\s(\d+)$



лучший в мире самп сервер 185.159.129.71:7777 лидерки админки да

Сообщение отредактировал Toopie - Среда, 14.02.2018, 18:07
Rinat_Namazov Дата: Среда, 14.02.2018, 19:02 | Сообщение # 3
Боец
Сообщений: 122
Статус: Offline
Парсить лучше, а не регуляркой.
Код

Loop, Parse, Log, ||
{
    MsgBox, % A_LoopField
}

Или
Код

Log := StrSplit(String, "||", "")
Loop, % Log.MaxIndex()
{
    MsgBox, % Log[A_Index]
}


Вообще-то тебе в тему AHK Программирование, а не суды
CZAR Дата: Пятница, 16.02.2018, 01:56 | Сообщение # 4
Czar Of Scripts
Сообщений: 1373
Статус: Offline
Toopie, почему нету? Есть же.
Код
(\d+) ([А-я]+) (\d+) \|\| (.*) \|\| Принятый игрок \|\| ([A-z_]+) \|\| Скриншот: (\d+)






Я в ВК
Ушел в веб.

• Ничего не покупаю.
• Способы не проверяю.


У меня теперь новый домен, если ссылка не работает - напишите.

Гарант Cheat-Master:
*тема*

AHK
[S-RP] House Finder / House Teleporter
[SAMP] Online Counter
[S-RP] [For Event] Show Star
[S-RP] AntiCasino
[S-RP] [BOT] Auto Fisher + Auto Find Worm + Auto Cook
[S-RP] [BOT] /dance
Winner | Делаем розыгрыши среди участников темы.
SAMP-UDF
[AHK Урок] Выбор в диалогах мышкой и enter`ом
[SAMP] Быстрый ответ на СМС
[ERP] Помощник для адвоката
[DRP] FakeTime

Достижения:
- 26.02.2017
- 03.01.2018
- 26.05.2018
- 22.09.2018
- 04.04.2019


Сообщение отредактировал Phoenixxx_Czar - Пятница, 16.02.2018, 02:00
  • Страница 1 из 1
  • 1
Поиск: