Помогите с регулярными выражениями

Maksim Kotov

Новичок
Автор темы
8
0
Версия MoonLoader
Другое
Всем привет, есть вот такой код от форм
Lua:
            if text:match("%[.*%] .*% (%w+_?%w+)%[(%d+)%]%: /"..v.."%s") then
                admin_nick, admin_id, admin_other = text:match("%[.*%] (%w+_?%w+)%[(%d+)%]%: /"..v.."%s(.*)")
И есть вот такой админ чат
sa-mp-941.png

Вроде бы регулярные выражения написаны правильно, но скрипт молчит. Помогите пожалуйста, заранее Большое Спасибо
 
Решение
Lua:
if text:find('%[A%] Создатель (%w+_%w+)%[(%d+)%]: %{ff6142%}(.+)')
    local nick, id, text = text:match('%[A%] Создатель (%w+_%w+)%[(%d+)%]: %{ff6142%}(.+)')
end
Если в [A] русская "А", то замени на русскую, потому что я написал английскую.
По поводу цвета, можно было написать по-другому, но так хотя бы ты понимать будешь.

UPD: Если нужно проверять команду, то можно сделать так:
Lua:
if text:find('%[A%] Создатель (%w+_%w+)%[(%d+)%]: %{ff6142%}') and (text:find('/kick (.+)') or text:find('/ban (.+)') or text:find('/warn (.+)'))
    local commands = {'ban', 'warn', 'kick'}
    local nick, id, form = text:match('%[A%] Создатель (%w+_%w+)%[(%d+)%]: %{ff6142%}(.+)')
    if nick and form:match('^/') then
        local cmd =...

PanSeek

t.me/dailypanseek
Всефорумный модератор
908
1,776
Lua:
if text:find('%[A%] Создатель (%w+_%w+)%[(%d+)%]: %{ff6142%}(.+)')
    local nick, id, text = text:match('%[A%] Создатель (%w+_%w+)%[(%d+)%]: %{ff6142%}(.+)')
end
Если в [A] русская "А", то замени на русскую, потому что я написал английскую.
По поводу цвета, можно было написать по-другому, но так хотя бы ты понимать будешь.

UPD: Если нужно проверять команду, то можно сделать так:
Lua:
if text:find('%[A%] Создатель (%w+_%w+)%[(%d+)%]: %{ff6142%}') and (text:find('/kick (.+)') or text:find('/ban (.+)') or text:find('/warn (.+)'))
    local commands = {'ban', 'warn', 'kick'}
    local nick, id, form = text:match('%[A%] Создатель (%w+_%w+)%[(%d+)%]: %{ff6142%}(.+)')
    if nick and form:match('^/') then
        local cmd = form:match('^/(%a+)')
        for _, v in ipairs(commands) do
            if cmd == v then
                sampAddChatMessage('Command is: '..form, -1); return
            end
        end
    end
end
 
Последнее редактирование: