Шаблон поиска


Шаблон поиска (англ. wildcard pattern, glob pattern) — метод описания поискового запроса с использованием метасимволов (символов-джокеров).

Чаще всего употребляются два символа — для замены любой строки символов звёздочка (*) и для замены любого одиночного символа знак вопроса (?).

При этом * может означать и пустую строку (отсутствие символов). Так например, одиноко стоящая звезда — это шаблон, к которому подходят все файлы каталогов, в которых осуществляется поиск по данному шаблону. Использование шаблона *.html позволит выделить все html-файлы, а шаблона my*.odt — файлы начинающиеся с «my» и оканчивающиеся на «.odt». Шаблон *2010* определяет все файлы, в именах которых присутствует группа символов 2010.

Знаком вопроса (?) в шаблоне обозначают любой одиночный символ. Например, под шаблон otchet.??? подойдут файлы имеющие любое расширение из трех букв, но начинающиеся именно так, как задано в шаблоне. Вариант записи descrip?ion.pdf найдет файлы с заданными именем, но вместо знака вопроса может быть любой символ (например, s или t). Очевидно, что задание шаблонов с помощью знака вопроса используется реже, чем использование звездочки.

Предусмотрены и более сложные правила записи шаблонов. Так, использование квадратных скобок ([ ]) со списком возможных значений позволяет осуществлять более гибкий поиск файлов. Пусть требуется найти все файлы, имена которых начинаются с буквы m, при этом требуется не учитывать регистр. Тогда шаблон будет выглядеть так: [mM]*. Если требуется одновременно найти файлы, начинающиеся на буквы, идущие подряд в алфавите, то можно задать диапазон. Например, под шаблон [m-pM-P]???.png подойдут все файлы с расширением png, имена которых состоят из четырех букв, причем первая буква m или n или o или p без учёта регистра.

В программах управления базами данных, например SQL, вместо * используется знак процента %, вместо ? знак подчёркивания _. В Microsoft Access, точнее, в их скриптовых языках, символы-джокеры могут быть использованы в выражениях «LIKE».