Проектная лаборатория
Собственный Grep
Этап 08 · Основные этапы
Якорь конца строки
Русский перевод заданий CodeCrafters. Примеры подготовлены для Go. Выбор языка меняет команды и результаты, но не текст задания.
На этом этапе вы добавите поддержку якоря конца строки ($).
Якорь конца строки ($)
Якорь $ требует, чтобы совпадение находилось в самом конце входной строки.
Например:
dog$находит совпадение в"dog"(шаблон в конце).dog$находит совпадение в"hotdog"(строка заканчивается на "dog").dog$не находит совпадения в"dogs"(шаблон не в конце).\d\d\d$находит совпадение в"abc123"(три цифры в конце).\w\w\w$не находит совпадения в"abc123@"(шаблон не в конце).\w\w\w$находит совпадение в"abc123cde"(три буквы в конце).
Проверки
Тестирующая система запустит программу так:
$ echo -n "dog" | ./your_program.sh -E "dog$"Программа должна:
- Завершиться с кодом
0, если входная строка заканчивается заданным шаблоном. - Завершиться с кодом
1в противном случае.
Примечания
- Можно сочетать
^и$в одном шаблоне (например,^dog$), чтобы проверить точное совпадение всей строки. - В этой задаче входные данные состоят из одной строки, поэтому учитывать окончания строк в многострочном тексте не нужно.
Проверка в вашей 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 ao7Запускайте submit из папки проекта. Это локальные проверки, а не сертификаты или результаты аккаунта CodeCrafters.
Результат проверки
go / ЛОКАЛЬНОПодключение к локальной проверке…
Здесь появится результат
Запустите submit в терминале. Страница обновляет результаты каждые 8 секунд.