Пример. В каталоге находится 6 файлов:
motors.dat;
torsten.docx;
motors.doc;
victoria.docx;
storch.doc;
x_torero.doc.
С помощью маски из них была отобрана следующая группа файлов:
motors.doc;
storch.doc;
victoria.docx;
x_torero.doc.
Какая из следующих масок была при этом использована?
1) *tor?*.d*;
2) ?tor*.doc;
3) *?tor?*.do*;
4) *tor?.doc*.
Выясним, какие группы файлов позволит выбрать каждая из масок. Результаты анализа представим в таблице:
Здесь мы серым цветом выделили строки, соответствующие файлам, которые должны быть отобраны.
Если файл соответствует маске, то в ячейке, находящейся на пересечении строки с именем файла и столбца с именем маски, будем ставить « + », в противном случае — «-».
В столбце искомой маски, знаки «+» должны соответствовать отобранным файлам, знаки «—» — всем прочим.
Анализируя маску *tor?*.d*, ставим знак «+» в ячейку, соответствующую файлу motors.dat. Данная маска позволяет отобрать файл, который не входит в интересующую нас группу, следовательно, она не может обеспечить отбор нужных файлов. Дальнейшее рассмотрение этой маски можно прекратить.
Маска ?tor*.doc не позволит отобрать файл motors.dat, но она же не позволит отобрать и подлежащий отбору файл motors.doc. Следовательно, дальнейшее рассмотрение этой маски можно прекратить.
Маска *?tor?*.do* позволяет отобрать только те файлы, которые нам нужны. Её можно использовать для решения задачи.
Но, возможно, задача имеет не одно решение. Проверяем маску *tor?.doc*. Она не позволит нам отобрать файл storch.doc.
Итак, решением задачи может быть только третья маска (*?tor?*.do*).