Проектная лаборатория
Собственный Grep
Этап 22 · Квантификаторы
Не менее n повторений
Русский перевод заданий CodeCrafters. Примеры подготовлены для Go. Выбор языка меняет команды и результаты, но не текст задания.
На этом этапе вы добавите поддержку квантификатора {n,}.
Квантификатор {n,}
Квантификатор {n,} требует не менее n совпадений предшествующего элемента. Элемент должен встретиться n или более раз, без верхнего ограничения.
Например:
ca{2,}tнаходит совпадение в"caat"(ровно две"a").ca{2,}tнаходит совпадение в"caaaaat"(пять"a").ca{2,}tне находит совпадения в"cat"(только одна"a").x\d{3,}yнаходит совпадение в"x9999y"(четыре цифры).x\d{3,}yне находит совпадения в"x42y"(только две цифры).b[aeiou]{2,}rнаходит совпадение в"baeiour"(пять гласных).b[aeiou]{2,}rне находит совпадения в"bar"(только одна гласная).
Проверки
Тестирующая система запустит программу так:
$ echo -n "caaat" | ./your_program.sh -E "ca{2,}t"Программа должна:
- Завершиться с кодом
0, если входная строка соответствует шаблону. - Завершиться с кодом
1в противном случае.
Проверка в вашей IDE
Нужны Node.js, Git, Go 1.24+ для тестеров и инструменты выбранного языка. Тестеры загружаются и запускаются локально; отдельным проектам нужны дополнительные системные зависимости.
Настройка проекта и IDE
1. Создайте проект один раз
node '/opt/graphlms/tools/project-lab/cli.mjs' init grep ./my-grep --language go2. Откройте папку в IDE
cd ./my-grepРеализуйте требования этапа в созданном проекте.
Запустите из папки проекта
node '/opt/graphlms/tools/project-lab/cli.mjs' submit --stage hk3Запускайте submit из папки проекта. Это локальные проверки, а не сертификаты или результаты аккаунта CodeCrafters.
Результат проверки
go / ЛОКАЛЬНОПодключение к локальной проверке…
Здесь появится результат
Запустите submit в терминале. Страница обновляет результаты каждые 8 секунд.