регулярные выражения

.KOHTOP.

Активный
Автор темы
219
35
Версия MoonLoader
.027.0-preview
Хукаю текст с диалога, но он почему-то игнорирует квадратные скобки и записывает всё, что идёт дальше
Lua:
function sampev.onShowDialog(id, style, title, button1, button2, text)
    sampAddChatMessage(tag .. id .. ' | ' .. title, -1)
    if id == 235 then
        if text:find('Организация%: %{......%}%[(.*)%]') then
            rorg = text:match('Организация%: %{......%}%[(.*)%]')
            sampAddChatMessage(tag .. rorg, -1)
        end
    end
end

1710157644854.png

1710157654347.png
 
Решение
* ищет самое длинное возможное повторение
- ищет самое короткое возможное повторение

Lua:
if text:find('Организация%: %{......%}%[(.-)%]') then
    rorg = text:match('Организация%: %{......%}%[(.-)%]')
    sampAddChatMessage(tag .. rorg, -1)
end

Rezbirp

Известный
72
69
* ищет самое длинное возможное повторение
- ищет самое короткое возможное повторение

Lua:
if text:find('Организация%: %{......%}%[(.-)%]') then
    rorg = text:match('Организация%: %{......%}%[(.-)%]')
    sampAddChatMessage(tag .. rorg, -1)
end