Код Middle Стандартная библиотека спрашивают часто обновлено
Разбор строк лога регулярным выражением
Условие
Строки лога имеют вид 2026-10-15 12:00:01 [ERROR] payment: card declined. Напишите parse(lines): верните словарь «уровень -> количество» и список модулей с ошибками уровня ERROR без повторов в порядке первого появления, в виде [levels, modules]. Строки другого формата пропускайте.
Примеры
parse(["2026-10-15 12:00:01 [ERROR] payment: card declined", "2026-10-15 12:00:02 [INFO] api: ok"]) // [{"ERROR":1,"INFO":1}, ["payment"]]
parse([]) // [{}, []]
parse(["garbage", "2026-10-15 12:00 [ERROR] x: y"]) // [{}, []]
Как подойти
Подсказки: 2
- Именованные группы
(?P<name>...). - Не забудьте якорь начала строки.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.