Шаблон Lua для гидов

Я пытаюсь реализовать шаблон в Lua, но безуспешно

Шаблон, который мне нужен, похож на регулярное выражение: [a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}

который должен подтвердить руководство.

Я не могу найти правильный способ найти регулярное выражение в Lua и не могу найти в документации также.

Пожалуйста, помогите мне реализовать приведенное выше регулярное выражение для guid.

1 ответ

Решение

Вы можете использовать это:

local pattern = "%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x"
local guid = "3F2504E0-4F89-41D3-9A0C-0305E82C3301"
print(guid:match(pattern))

Обратите внимание, что:

  1. Модификатор {8} не поддерживается в шаблоне Lua.
  2. - нужно сбежать с %-,
  3. Класс персонажа %x эквивалентно [0-9a-fA-F],

Четкий способ построения шаблона с использованием вспомогательной таблицы, предоставляемой @hjpotter92:

local x = "%x"
local t = { x:rep(8), x:rep(4), x:rep(4), x:rep(4), x:rep(12) }
local pattern = table.concat(t, '%-')
Другие вопросы по тегам