「ワイルドカード (情報処理)」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
m r2.6.4) (ロボットによる 追加: ko:와일드카드 문자
編集の要約なし
1行目: 1行目:
[[情報処理]]における'''ワイルドカード'''は[[検索]]する際にどんなパターンにも[[マッチ]]する[[特殊文字]]のこと。[[カードゲーム]]の[[ワイルドカード (トランプ)|ワイルドカード]]に由来する称。
コンピュータなどの関連において、'''ワイルドカード'''は[[検索]]など(グロブ([[w:glob (programming)]]))の際に指定するパターンに使用する[[特殊文字]]のひとつで、どんな対象文字、ないし文字列にも[[マッチ]]するもののことである。[[カードゲーム]]の[[ワイルドカード (トランプ)|ワイルドカード]]に由来する称。


[[UNIX|Unix]]の[[シェル]]では、「?」([[疑問符]])を任意の一文字、「*」([[アスタリスク]])を長さ0文字以上の任意の文字列にマッチするパターンとして、コマンドライン上で、存在するファイルの名前に対して展開される(たとえば ac abc abd というファイルがある場合、cat a*c とコマンドを入力すると、cat abc ac のように展開されたうえで、cat プログラムが起動される)。
[[MS-DOS]]・[[Microsoft Windows]]や[[UNIX]]、[[Linux]]など多くの[[オペレーティングシステム]]では、[[ファイル名]]に対するワイルドカードとして「[[*]]」や「[[?]]」が使われる。Windowsの場合、「*」は文字数不定(文字数ゼロも含む)の文字列の代用、「?」は1つの文字の代用として、使うことができる。


[[MS-DOS]]やその衣鉢を継いだ[[Microsoft Windows]]では、シェルはそのような展開を行わず、ワイルドカードはプログラムのプロセスにそのまま渡される。[[COMMAND.COM]]の内部コマンドにおける解釈では、ファイル名の途中で * があると、そこから拡張子のピリオドまでマッチをすっ飛ばし、全てマッチしたものとみなすので、FOO*BAR というパターンは FOO* と全く同じ意味である。また、REN *.TXT *.BAK といったようなコマンドに対してはDWIM的な([[w:DWIM]])挙動をする。
例えば「ワ*」と指定すれば、ファイル名が「ワ」で始まる(「ワ」一文字も含む)全てのファイルが、「ワ???」なら、「ワ」で始まり、その後に3文字が続く全てのファイルが検索でヒットすることになる。


[[SQL]]のWHERE句におけるLIKE演算子では、長さ0文字以上の任意の文字列が「%」、任意の一文字が「_」である。
SQLの場合、「[[*]]」の代わりに「%」、「[[?]]」の代わりに「_」が用いられる。


== 関連項目 ==
== 関連項目 ==

2012年1月3日 (火) 08:08時点における版

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

Unixシェルでは、「?」(疑問符)を任意の一文字、「*」(アスタリスク)を長さ0文字以上の任意の文字列にマッチするパターンとして、コマンドライン上で、存在するファイルの名前に対して展開される(たとえば ac abc abd というファイルがある場合、cat a*c とコマンドを入力すると、cat abc ac のように展開されたうえで、cat プログラムが起動される)。

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

SQLのWHERE句におけるLIKE演算子では、長さ0文字以上の任意の文字列が「%」、任意の一文字が「_」である。

関連項目