Чтобы разобраться с заданием, давайте сначала поймем, что такое маска и как она работает. В данном случае, маска является паттерном, по которому мы будем фильтровать имена.
Маска "?l*ck.*t" содержит несколько специальных символов:
1. **?** - Этот символ означает "один любой символ". То есть, на месте вопросительного знака может стоять любая буква или знак.
2. **l** - Это просто буква "l". Она должна находиться на том месте, где указана в маске.
3. **\*** - Этот символ означает "любое количество символов" (включая ноль символов). Это значит, что перед "ck" может быть любая последовательность букв или символов.
4. **ck** - Это фиксированная часть строки, которая должна совпадать с буквой "c", затем "k".
5. **.*t** - Здесь точка с звездочкой означает "любое количество символов" перед буквой "t", а "t" - это фиксированная буква в конце слова.
Теперь давайте разберем маску по шагам. Она говорит, что:
- На первом месте может стоять любой один символ (возможно, ничего).
- Затем следует буква "l".
- Далее - любое количество символов.
- Затем "ck".
- После "ck" может быть любое количество символов.
- И в конце должно быть "t".
Теперь рассмотрим пример слов, которые могут подходить под эту маску:
- **"blackcat"** - Здесь:
- "b" - это первый любой символ.
- "l" - на своем месте.
- "ack" - это любые символы между "l" и "ck".
- "c" - следующая буква.
- "at" - символы перед "t".
- **"clocket"** - Здесь:
- "c" - любой первый символ.
- "l" - на своем месте.
- "ock" - любые символы между "l" и "ck".
- "k" - на своем месте.
- "et" - символы перед "t".
- **"elcket"** - Здесь:
- "e" - любой символ.
- "l" - на своем месте.
- "ck" - на своем месте.
- "et" - символы перед "t".
Итак, давайте теперь выведем слова, которые НИКОГДА не будут соответствовать. Например:
- **"lock"** - Здесь не хватает "t" в конце.
- **"black"** - Здесь не хватает буквы "t" в конце.
- **"clackt"** - Здесь не хватает буквы "l" на втором месте.
Финально, среди всех вариантов вы должны выбрать именно те имена, которые соответствуют данной маске "?l*ck.*t".