Символ подстановки


Си́мвол-джо́кер (си́мвол подстано́вки) — символ, используемый для замены других символов или их последовательностей, приводя таким образом к символьным шаблонам. Развитием символов-джокеров являются регулярные выражения.

В передаче данных символ-джокер — символ, которым можно заменить любое предопределённое множество других символов.

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

В интерпретаторах командной строки различных операционных систем: COMMAND.COM в DOS, cmd.exe в Microsoft Windows, различные скриптовые оболочки в *nix — применяются символы-джокеры: знак вопроса (?) в качестве замены одного символа и звёздочка в вышеупомянутом смысле. С помощью них можно оперировать (выводить список, удалять, копировать и др.) сразу с группами файлов. Примеры команд:

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

В регулярных выражениях концепция символов-джокеров получила дальнейшее развитие. В них есть специальные обозначения не только для одного («.») и любого количества (квантификатор «*») символов, но и различных классов символов (например, пустые символы «\s»), альтернативных выражений ("|") и многое другое.[1] В Юникоде применяются комбинированные символы. Как и в старых пишущих машинках, простые базовые символы (пробелы, знаки препинания, символы, цифры или буквы) могут сопровождаться одним или несколькими символами без пробелов (обычно диакритическими знаками, такими как знаки ударения, изменяющие буквы), чтобы получился определенный печатный символ; Unicode также предоставляет ограниченный набор предварительно составленных символов, то есть символов, которые уже включают один или несколько комбинирующих символов. Последовательность базового символа и комбинирующих символов должна соответствовать одному и тому же одиночному предварительно составленному символу (только некоторые из этих комбинирующих последовательностей могут быть предварительно составлены в один символ Юникода, но бесконечно много других комбинирующих последовательностей возможно в Юникоде и необходимо для различных языков.