Для решения данной задачи мы используем правила работы с масками имен файлов, где символы «?» и «*» выполняют следующие функции:
- Символ «?» означает ровно один произвольный символ.
- Символ «*» обозначает любую последовательность символов произвольной длины, включая пустую последовательность.
Теперь рассмотрим каждый из предложенных шаблонов и проверим, какие из указанных файлов подходят под каждую маску.
Входные файлы:
- adobe.xls
- idol.xlsx
- london.xls
- adobe.xml
- odor.xlsx
- sdoba.xls
1) Маска: ?do.xls*
- Подходит:
- "adobe.xls" (адрес соответствует: adobe.xls)
- "odor.xlsx" (адрес соответствует: odor.xlsx)
- "sdoba.xls" (адрес соответствует: sdoba.xls)
- Не подходит:
- "idol.xlsx" (нет символа 'd')
- "london.xls" (нет соответствия)
- "adobe.xml" (расширение не соответствует)
Итог для маски 1: Подходит: adobe.xls, odor.xlsx, sdoba.xls
2) Маска: ?do?.xls
- Подходит:
- "adobe.xls" (адрес соответствует: adobe.xls)
- "sdoba.xls" (адрес соответствует: sdoba.xls)
- Не подходит:
- "idol.xlsx" (даже с учетом что .xlsx соответствует * .xls)
- "london.xls" (нет соответствия)
- "adobe.xml" (расширение не соответствует)
- "odor.xlsx" (расширение не соответствует)
Итог для маски 2: Подходит: adobe.xls, sdoba.xls
3) Маска: do.x*
- Подходит:
- "adobe.xls" (адрес соответствует: adobe.xls)
- "idol.xlsx" (адрес соответствует: idol.xlsx)
- "london.xls" (адрес соответствует: london.xls)
- "adobe.xml" (адрес соответствует: adobe.xml)
- "odor.xlsx" (адрес соответствует: odor.xlsx)
- "sdoba.xls" (адрес соответствует: sdoba.xls)
Итог для маски 3: Подходят все: adobe.xls, idol.xlsx, london.xls, adobe.xml, odor.xlsx, sdoba.xls
4) Маска: ?do?.xls*
- Подходит:
- "adobe.xls" (адрес соответствует: adobe.xls)
- "sdoba.xls" (адрес соответствует: sdoba.xls)
- Не подходит:
- "idol.xlsx" (даже с учетом что .xlsx соответствует)
- "london.xls" (нет соответствия)
- "adobe.xml" (расширение не соответствует)
- "odor.xlsx" (расширение не соответствует)
Итог для маски 4: Подходит: adobe.xls, sdoba.xls
Теперь сводим все результаты:
- Для маски 1: adobe.xls, odor.xlsx, sdoba.xls
- Для маски 2: adobe.xls, sdoba.xls
- Для маски 3: все файлы
- Для маски 4: adobe.xls, sdoba.xls
Это позволяет нам понять, какие файлы будут отобраны по каждой маске.