Итоги — Парсер лог-файлов
Часть раздела Логика и управление потоком путешествия по Lua на Coddy. Урок 40 из 54.
Задание
ЛегкоНапишите функцию parseLogEntry, которая принимает logEntry и возвращает извлечённую информацию из журнала в виде строки в заданном формате.
Используйте string.match() с несколькими захватывающими группами, чтобы извлечь уровень журнала (в скобках), текст сообщения и числовой идентификатор из записи журнала. Верните эти три части информации, разделённые запятыми.
Логика:
- Используйте шаблон с тремя захватывающими группами: одну для уровня журнала внутри скобок, одну для текста сообщения и одну для числового идентификатора
- Уровень журнала состоит из прописных букв внутри квадратных скобок
- Сообщение — это текст между двоеточием и числовым идентификатором
- Идентификатор — это одна или несколько цифр в конце
- Верните три захваченных значения в формате:
level,message,id
Параметры:
logEntry(string): Запись журнала в формате[LEVEL]: Message text ID
Возвращает: Извлечённую информацию в виде level,message,id (string)
Попробуйте сами
function parseLogEntry(logEntry)
-- Напишите код здесь
end
Все уроки раздела Логика и управление потоком
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()Пользовательская сортировка с помощью функцийИтоги — Таблица рекордовПотренируйтесь самостоятельно: Онлайн-компилятор Lua