ワイルドカード (情報処理)

検索処理において任意の文字ないし文字列にマッチする特殊文字

コンピュータなどの関連において、ワイルドカードは、検索などグロブの際に指定するパターンに使用する特殊文字の種類で、どんな対象文字、ないし文字列にもマッチするもののことである。カードゲームワイルドカードに由来する呼称。

UNIXシェルでは、「?」(疑問符)を任意の一文字、「*」(アスタリスク)を長さ0文字以上の任意の文字列にマッチするパターンとして、コマンドライン上で、存在するファイルの名前に対して展開される。

たとえば sales-201712.xlsxsales-201801.txtsales-201802.txt というファイルがある場合、

vi sales-2018*.txt

コマンドを入力すると、

vi sales-201801.txt sales-201802.txt

のように展開されたうえで、vi プログラムが起動される。

MS-DOSやその衣鉢を継いだMicrosoft Windowsのシェルプログラム COMMAND.COM ではこのような展開を行わず、ワイルドカードはプログラムのプロセスにそのまま渡される。COMMAND.COM の内部コマンドにおける解釈では、ファイル名の途中で * があると、そこから拡張子のピリオドまでマッチをすっ飛ばし、全てマッチしたものとみなすので、FOO*BAR というパターンは FOO* と全く同じ意味である。また、REN *.TXT *.BAK といったようなコマンドに対してはDWIM英語版的な挙動をする。

SQLWHERE 句における LIKE predicate 中のパターンでは、長さ0文字以上の任意の文字列が「%」、任意の一文字が「_」である。

正規表現におけるクリーネ閉包とは似て非なるものであり混同してはいけない。

関連項目

編集