「ワイルドカード (情報処理)」の版間の差分
削除された内容 追加された内容
編集の要約なし |
編集の要約なし |
||
1行目: | 1行目: | ||
コンピュータなどの関連において、'''ワイルドカード'''は、[[検索]]など[[グロブ]]の際に指定するパターンに使用する[[特殊文字]]の種類で、どんな対象文字、ないし文字列にもマッチするもののことである。[[カードゲーム]]の[[ワイルドカード (トランプ)|ワイルドカード]]に由来する呼称。 |
コンピュータなどの関連において、'''ワイルドカード'''は、[[検索]]など[[グロブ]]の際に指定するパターンに使用する[[特殊文字]]の種類で、どんな対象文字、ないし文字列にもマッチするもののことである。[[カードゲーム]]の[[ワイルドカード (トランプ)|ワイルドカード]]に由来する呼称。 |
||
[[UNIX]]の[[Unixシェル|シェル]]では、「?」([[疑問符]])を[[任意]]の一文字、「*」([[アスタリスク]])を長さ0文字以上の任意の文字列にマッチするパターンとして、コマンドライン上で、存在するファイルの名前に対して展開される |
[[UNIX]]の[[Unixシェル|シェル]]では、「<code>?</code>」([[疑問符]])を[[任意]]の一文字、「<code>*</code>」([[アスタリスク]])を長さ0文字以上の任意の文字列にマッチするパターンとして、コマンドライン上で、存在するファイルの名前に対して展開される。 |
||
たとえば <code>sales-201712.xlsx<code>、<code>sales-201801.txt</code>、<code>sales-201802.txt</code> というファイルがある場合、 |
|||
⚫ | |||
vi sales-2018*.txt |
|||
⚫ | |||
コマンドを入力すると、 |
|||
vi sales-201801.txt sales-201802.txt |
|||
のように展開されたうえで、<code>vi</code> プログラムが起動される。 |
|||
⚫ | [[MS-DOS]]やその衣鉢を継いだ[[Microsoft Windows]]のシェルプログラム <code>[[COMMAND.COM]]</code> ではこのような展開を行わず、ワイルドカードはプログラムのプロセスにそのまま渡される。<code>COMMAND.COM</code> の内部コマンドにおける解釈では、ファイル名の途中で <code>*</code> があると、そこから拡張子のピリオドまでマッチをすっ飛ばし、全てマッチしたものとみなすので、<code>FOO*BAR</code> というパターンは <code>FOO*</code> と全く同じ意味である。また、<code>REN *.TXT *.BAK</code> といったようなコマンドに対しては{{仮リンク|DWIM|en|DWIM}}的な挙動をする。 |
||
⚫ | |||
[[正規表現]]における[[クリーネ閉包]]とは似て非なるものであり混同してはいけない。 |
[[正規表現]]における[[クリーネ閉包]]とは似て非なるものであり混同してはいけない。 |
2018年4月30日 (月) 21:52時点における版
コンピュータなどの関連において、ワイルドカードは、検索などグロブの際に指定するパターンに使用する特殊文字の種類で、どんな対象文字、ないし文字列にもマッチするもののことである。カードゲームのワイルドカードに由来する呼称。
UNIXのシェルでは、「?
」(疑問符)を任意の一文字、「*
」(アスタリスク)を長さ0文字以上の任意の文字列にマッチするパターンとして、コマンドライン上で、存在するファイルの名前に対して展開される。
たとえば sales-201712.xlsx
、
sales-201801.txt
、sales-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的な挙動をする。
SQLの WHERE
句における LIKE predicate
中のパターンでは、長さ0文字以上の任意の文字列が「%
」、任意の一文字が「_
」である。
関連項目