v = [[
Пол: [Мужчина]
Уровень: [1]
Уважение: [0/8]
Деньги: [$200]
Номер телефона: [Не имеется]
Деньги в банке: [$0]
Состояние личного счета: [$0]
Деньги на депозите: [$0]
Работа: [None]
Организация: [Не имеется]
Уровень розыска: [0]
Законопослушность: 20/100
Защита: [-0% урона]
Регенерация: [0 HP в мин.]
Урон: [+0 урона]
Удача: [шанс 0% крит.урона]
Предупреждения: [0]
Наркозависимость: 0 [Нет зависимости]
Банковская карта: [Не имеется]
Статус: [Не имеется]
Возможность владеть 5-ю бизнесами: [НЕТ]
Возможность владеть 4-я домами: [НЕТ]
]]
local info = {}
info[1] = v:match("Пол: %[(%W+)%]")
info[2] = v:match("Уровень: %[(%d+)%]")
info[3] = v:match("Уважение: %[(%d+%/%d+)%]")
info[4] = v:match("Деньги: %[(%$%d+)%]")
info[5] =...
Пол: %[(.+)%]
Деньги %[%$(%d+)%]
Что этоне работает ни одна , ни другая
Что имею вообще :
Пол: [Мужчина]
Уровень: [1]
Уважение: [0/8]
Деньги: [$200]
Номер телефона: [Не имеется]
Деньги в банке: [$0]
Состояние личного счета: [$0]
Деньги на депозите: [$0]
Работа: [None]
Организация: [Не имеется]
Уровень розыска: [0]
Законопослушность: 20/100
Защита: [-0% урона]
Регенерация: [0 HP в мин.]
Урон: [+0 урона]
Удача: [шанс 0% крит.урона]
Предупреждения: [0]
Наркозависимость: 0 [Нет зависимости]
Банковская карта: [Не имеется]
Статус: [Не имеется]
Возможность владеть 5-ю бизнесами: [НЕТ]
Возможность владеть 4-я домами: [НЕТ]
1 выдаёт остальные записи после пола - скрин 3
2 выдаёт ошибку 1-2 скрин
Посмотреть вложение 70131Посмотреть вложение 70132Посмотреть вложение 70134
Вывел только цифры, но не Деньги: [$200]
Ну да, потому что перменная
resl
принимает значение с регулярки. Тоесть rels
= (%d+)
Деньги: %[(%$%d+)%]
Деньги:%s+%[(%$%d+)%]
Ну да, потому что перменнаяresl
принимает значение с регулярки. Тоестьrels
=(%d+)
А почему регулярка с полом выводит пол и остальные записи после него?
(.+)
- любое кол-во символов(%d+)
- любое кол-во цифр1. Предоставь нормальный текст. То что ты вставил и что на скрине, разное.
2. Скажи что ты хочешь вытащить, конкретно, цифры или со знаком доллара цифры.
В круглых скобках в match ты указываешь то, что ты хочешь вытащить, не надо знак доллара в отдельные скобки заключать, просто заключи в единые, если требуется знак захватить.
Деньги: %[(%$%d+)%]
3. На скрине после Деньги: как будто табуляция стоит. Раз не можешь с пробелом определиться, сколько его, поставить надо %s+
Деньги:%s+%[(%$%d+)%]
4.В редакторе выстави кодировку ANSI 1251, чтобы русский язык нормально воспринимал
function ev.onShowDialog(dialogId,s,t,b1,b2,text)
for line in text:gmatch("[^\n]+") do
if line:find('Пол: %[(.+)%]') then
pol = line:match('Пол: %[(.+)%]')
end
if line:find('Уровень: %[(%d+)%]') then
lvl = line:match('Уровень: %[(%d+)%]')
end
end
end
v = [[
Пол: [Мужчина]
Уровень: [1]
Уважение: [0/8]
Деньги: [$200]
Номер телефона: [Не имеется]
Деньги в банке: [$0]
Состояние личного счета: [$0]
Деньги на депозите: [$0]
Работа: [None]
Организация: [Не имеется]
Уровень розыска: [0]
Законопослушность: 20/100
Защита: [-0% урона]
Регенерация: [0 HP в мин.]
Урон: [+0 урона]
Удача: [шанс 0% крит.урона]
Предупреждения: [0]
Наркозависимость: 0 [Нет зависимости]
Банковская карта: [Не имеется]
Статус: [Не имеется]
Возможность владеть 5-ю бизнесами: [НЕТ]
Возможность владеть 4-я домами: [НЕТ]
]]
local info = {}
info[1] = v:match("Пол: %[(%W+)%]")
info[2] = v:match("Уровень: %[(%d+)%]")
info[3] = v:match("Уважение: %[(%d+%/%d+)%]")
info[4] = v:match("Деньги: %[(%$%d+)%]")
info[5] = v:match("Деньги в банке: %[(%$%d+)%]")
info[6] = v:match("Состояние личного счета: %[(%$%d+)%]")
info[7] = v:match("Деньги на депозите: %[(%$%d+)%]")
info[8] = v:match("Работа: %[([а-яА-Я%a]+)%]")
print(table.concat(info, "\n"))
Спасибо большое ☺️Lua:v = [[ Пол: [Мужчина] Уровень: [1] Уважение: [0/8] Деньги: [$200] Номер телефона: [Не имеется] Деньги в банке: [$0] Состояние личного счета: [$0] Деньги на депозите: [$0] Работа: [None] Организация: [Не имеется] Уровень розыска: [0] Законопослушность: 20/100 Защита: [-0% урона] Регенерация: [0 HP в мин.] Урон: [+0 урона] Удача: [шанс 0% крит.урона] Предупреждения: [0] Наркозависимость: 0 [Нет зависимости] Банковская карта: [Не имеется] Статус: [Не имеется] Возможность владеть 5-ю бизнесами: [НЕТ] Возможность владеть 4-я домами: [НЕТ] ]] local info = {} info[1] = v:match("Пол: %[(%W+)%]") info[2] = v:match("Уровень: %[(%d+)%]") info[3] = v:match("Уважение: %[(%d+%/%d+)%]") info[4] = v:match("Деньги: %[(%$%d+)%]") info[5] = v:match("Деньги в банке: %[(%$%d+)%]") info[6] = v:match("Состояние личного счета: %[(%$%d+)%]") info[7] = v:match("Деньги на депозите: %[(%$%d+)%]") info[8] = v:match("Работа: %[([а-яА-Я%a]+)%]") print(table.concat(info, "\n"))
Выучи потом регулярки, раз хочешь скрипты писать, ты обязан их знать.