вопрос по рег. выражениям

qu3ry

Новичок
Автор темы
5
0
Версия MoonLoader
.027.0-preview
Есть строка: "[Math] Внимание! Кто первый решит пример 258 + 834, получит..."
Как вытащить цифры и знак в отдельные переменные?
 

ChromiusJ

Известный
Друг
4,898
3,184
Lua:
local str = "[Math] Внимание! Кто первый решит пример 258 + 834, получит..."
local pattern = "(%d+)%s*([%+%-*/])%s*(%d+)"

local first_number, operator, second_number = str:match(pattern)

if first_number then
    print("Первое число:", first_number)
    print("Оператор:", operator)
    print("Второе число:", second_number)

    local expression = first_number .. operator .. second_number
    local success, result = pcall(load("return " .. expression))

    if success then
        print("Решение:", result)
    else
        print("Ошибка при решении примера:", result)
    end
else
    print("Пример не найден.")
end
 
  • Нравится
Реакции: genius.company

pwnz

Участник
94
74
Безымянный.png


fq:
строка = "[Math] Внимание! Кто первый решит пример 258 + 834, получит..."

-- Находим все цифры и знаки в примере
первое_число, знак, второе_число = строка:match("(%d+)%s*([%+%-*/])%s*(%d+)")

если первое_число и знак и второе_число то
    -- Выводим результаты
    print("Первое число:", первое_число)
    print("Знак:", знак)
    print("Второе число:", второе_число)
else
    print("Пример не найден.")
end