1748180 メンバー
4158 オンライン
108759 解決策
新規ポスト

正規表現とワイルドカードの違いについて

 
Y_M
頻繁なアドバイザー

正規表現とワイルドカードの違いについて

初めまして。mattsuと申します。

掲題の件につきまして、一点ご教授頂きたく投稿させて頂きました。

色々WEBサイト等を探したのですが、この正規表現とワイルドカードの使い分け方法がどうしても分かりません。それぞれのメタキャラクタの意味や[]などの文字クラスといった使い方は理解しているのですが、実際に使用するとなった場合にどう使い分けるのでしょうか?(例えば、sedなどでは正規表現、lsではワイルドカードなど←この認識は誤ってますが)

初歩的な質問で申し訳ございませんが、ご解答の程何卒宜しくお願い致します。
3件の返信3
cf
レギュラーアドバイザー

正規表現とワイルドカードの違いについて

mattsuさん、こんにちは

正規表現やワイルドカードには標準が無いため、コマンドの作成者毎に違います。

無料サイトで、俯瞰した情報がまとまっているところを知らないので、オライリーの「詳説 正規表現 第2版」ISBN:4873111307 などで、正規表現とはといった概要部分を眺めると、コマンド毎のばらばら加減と使い分けが分かりやすいのではないかと思います。
Y_M
頻繁なアドバイザー

正規表現とワイルドカードの違いについて

cfさん、ご解答ありがとうございます。やはりそういう事だったんですね。本日帰りにご教授頂いた書籍を立ち読みしてみます。ありがとうございました。
nt
貴重なコントリビューター

正規表現とワイルドカードの違いについて

regexp(5) によると

> A regular expression is a mechanism supported by many utilities

> for locating and manipulating patterns in text.

> pattern matching notation is used by shells and other utilities

> for file name expansion.

となっています。 "pattern matching notation" は "file name globing"

とも呼ばれ基本的に file name に対して使われます。

> lsではワイルドカード

これは ls ではなく shell が "ワイルドカード" の処理をしています。

'ls *' は shell が '*' を展開して、 'ls a b c ...' として実行しています。