人に聞けない痔の悩み、これでスッキリ >>

メタ文字とワイルドカードの比較して、
違いを調べているのですが、どうも明確によくわかりません。

両方とも「任意の文字列を指定するための特殊な文字」な事は
分かっているのですが、メタ文字はこの範囲、ワイルドカードは子の範囲など言葉の切り分けはあるのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ワイルドカード文字とは、メタ文字の一種です。



メタ文字には、ワイルドカードな文字と、ワイルドカードじゃない文字があります。両方をひっくるめて「メタ文字」と言います。

・メタ文字
特殊な意味を持つ文字のこと。

「メタ」とは「超」と言う意味で「普通じゃない」と言うニュアンスです。つまり「特殊文字」って事です。

例えば、正規表現では
. ^ $ [ ] * + ? | ( ) \
が「メタ文字」です。

これらは「特殊である」と言うだけで、任意の文字や任意の文字列を意味するとは限りません。

たとえば「^」は、任意の文字を意味しません。意味するのは「行頭」です。

・ワイルドカード文字
メタ文字のうち、任意の文字、任意の文字列を表す特殊文字のこと。

例えば、正規表現では
. * + ?
が「ワイルドカード文字」です。
    • good
    • 0
この回答へのお礼

なるほど。
分かりやすい解説ありがとうございます。納得です。

お礼日時:2008/11/12 10:04

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q正規表現とワイルドカード

この二つは使用に違いがあるのはわかるのですが、どのような時に使い分けるのでしょうか?
調べて見たのですが、シェルによるとかコマンドによるとか書かれていましたがいまいちよくわかりません。
こういうときは正規表現、こんなときはワイルドカード、という風に使い分けに違いがあれば教えて下さい。

Aベストアンサー

シェルは「*」などのメタキャラクタを扱う際、自分なりのルールに則って解釈していきます。このシェルの解釈の仕方をワイルドカードといいます。シェルはメタキャラクタを正規表現として扱いません。これは仕様です。

> こういうときは正規表現、こんなときはワイルドカード、という風に使い分けに違いがあれば教えて下さい。

故に「使い分け」とは意味合いが少しばかり違うのです。どちらかというと「使い方」に気を配る、というイメージでしょうか。
コマンドラインを管理するのはシェルです。ということは、コマンドラインに出現するメタキャラクタはすべてシェルがワイルドカードとして展開します。

ただし、grep, sed や awk など一部のコマンドはその性質上、引数の全て、あるいは特定の部分に指定された文字や文字列を正規表現として解釈します。これも仕様です。

よって、正規表現を扱うコマンド、即ち上記 grep などがコマンドライン中に「*」や「$」などのメタキャラクタを伴って登場した際、シェルとの争奪戦になります。そこでクォーティングなる気配りが必要になります。

とは言うも、このメタキャラクタの解釈には順序というものがあり、先にコマンドライン全体を解釈するのはシェルである、ということを知っておくとより理解が深まると思います。

シェルは「*」などのメタキャラクタを扱う際、自分なりのルールに則って解釈していきます。このシェルの解釈の仕方をワイルドカードといいます。シェルはメタキャラクタを正規表現として扱いません。これは仕様です。

> こういうときは正規表現、こんなときはワイルドカード、という風に使い分けに違いがあれば教えて下さい。

故に「使い分け」とは意味合いが少しばかり違うのです。どちらかというと「使い方」に気を配る、というイメージでしょうか。
コマンドラインを管理するのはシェルです。ということ...続きを読む

Qミドルウエアの具体例を教えてください。

初級シスアドで、OSとアプリケーションソフトの中間に位置するものとしてミドルウエアがあり
 ・データベース管理システム(DBMS)
 ・通信管理システム(LAN制御を含む)
 ・ソフトウエア開発支援ツール
 ・EUCツール
 ・運用管理ツール
説明されています。なんとなく具体例が推測できるものもありますし、ぜんぜんイメージできないものもあります。
そこで、推測が間違っていないか確認したいのと、イメージできないものの場合具体例をあげていただければ助かります。

(1) データベース管理システム(DBMS)
多分、OracleやSQL-SeaverやMySQLのようなものだと思うのですが。
この推測はあってますか?

(2) 通信管理システム(LAN制御を含む)
プラットホームや使用アプリが違う場合のデータのやり取りを行うようなもの・・・というイメージがあります。使用アプリの場合はODBCドライバみたいなものの様な(全然自信ない)、プラットホームとなると実例が浮かんできません。

(3) ソフトウエア開発支援ツール
なんでしょう?プログラミングジェネレータのことでしょうか。
EXCELマクロの自動記録機能なんてのもこれに入るのでしょうか。ひょっとするとEXCELマクロは、次のEUCツールでしょうか?

(4) EUCツール
AccessとかEXCELとかでしょうか。イメージ沸きません。

(5) 運用管理ツール
う~ん・・・なんでしょう?

補足:IMEとかもミドルウエアと考えてよいのだろうか? WEBで調べるとワープロや表計算もミドルウエアと定義しているものもあります。それは少し拡張解釈なような気がします。

いずれにせよ、すっきりした定義と具体例を書いてあるものを見つけられないのです。

宜しくお願いします。

初級シスアドで、OSとアプリケーションソフトの中間に位置するものとしてミドルウエアがあり
 ・データベース管理システム(DBMS)
 ・通信管理システム(LAN制御を含む)
 ・ソフトウエア開発支援ツール
 ・EUCツール
 ・運用管理ツール
説明されています。なんとなく具体例が推測できるものもありますし、ぜんぜんイメージできないものもあります。
そこで、推測が間違っていないか確認したいのと、イメージできないものの場合具体例をあげていただければ助かります。

(1) データベース管理システ...続きを読む

Aベストアンサー

(1) データベース管理システム(DBMS):お書きになられた通りです。
(2) 通信管理システム(LAN制御を含む:TCP/IPドライバー等通信制御を行うアプリケーションです。ファームウェアも該当するでしょう。通常ユーザが操作する類のアプリケーションではありません。
(3) ソフトウエア開発支援ツール:VisualBASIC、C言語、Perl等、亜ぷロケーションを開発するツール、プログラミング言語と言えば分かり易いでしょうか。
(4)EUCツール:エンドユーザが使用するアプリケーションです。
(5)運用管理ツール:クライアントPCの管理ツール、DBシステムの管理ツール、WEB/メールのサーバ管理等、運用機器を管理するツールです。最近では情報漏えいを防止する目的のツールが多数出ています。

Qフリーウェアとオープンソースの違いとは?

フリーソフトウェアとオープンソースのソフトウェアはどう違うのでしょうか?
ごく簡単に素人にも分かりやすく説明してもらえると助かります。o(_ _)o

Aベストアンサー

これ、全然違う概念ですよ。

フリーソフトは「そのソフトを使うのに費用がかからないソフトのこと」で、「シェアウエア」(使っても良いけど、出来ればお金を寄付してね)とか、「商用アプリ」(初めから価格を付けて売ってる)とかとの対立概念です。

一方オープンソースは「そのソフトのプログラムコードが公開されているかどうか」でして、そのソフトを使うのにお金がかかるかどうかには全然関係ありません。

ですので「オープンソースのフリーソフト」ってのはいくらでもありますし、オープンソースなのに商用ソフトとか、フリーソフトでオープンソースでないもの、ってのもあったりします。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング