Итоги — Парсер лог-файлов
Часть раздела Logic & Flow путешествия по Lua на Coddy — урок 40 из 54.
Задание
ЛегкоНапишите функцию parseLogEntry, которая принимает logEntry и возвращает извлеченную информацию из лога в виде отформатированной строки.
Используйте string.match() с несколькими захватами (captures), чтобы извлечь уровень лога (в скобках), текст сообщения и числовой ID из записи лога. Верните эти три части информации, разделенные запятыми.
Логика:
- Используйте шаблон с тремя захватами: один для уровня лога внутри скобок, один для текста сообщения и один для числового ID
- Уровень лога — это заглавные буквы внутри квадратных скобок
- Сообщение — это текст между двоеточием и числовым ID
- ID — это одна или несколько цифр в конце
- Верните три захваченных значения в формате:
level,message,id
Параметры:
logEntry(string): Запись лога в формате[LEVEL]: Message text ID
Возвращает: Извлеченную информацию в виде level,message,id (string)
Попробуйте сами
function parseLogEntry(logEntry)
-- Напишите код здесь
end
Все уроки раздела Logic & Flow
1Продвинутая итерация таблиц
Итерация с помощью pairs()Итерация с помощью ipairs()pairs() против ipairs()Повторение — Лист персонажа4Введение в метатаблицы
Что такое метатаблица?setmetatable и getmetatableМетаметод __indexМетаметод __newindexМетаметод __tostringАрифметические метаметоды. Часть 1Арифметические метаметоды. Часть 2Итоги — Таблица только для чтения7Продвинутая работа со строками
string.gsub() для подстановкиВведение в строковые шаблоныstring.find()string.match()Итерация с помощью string.gmatch()Итоги — Парсер лог-файлов2Дополнительные функции библиотеки table
table.concat()Создание таблиц и unpack()table.sort()Пользовательская сортировка с помощью функцийИтоги — Таблица рекордов