本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 5 : その他の機能 > r

regexp(5)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

regexp ― 正規表現およびパターンマッチング表記の定義

説明

正規表現 は、 テキスト中のパターンを発見し、操作するのに、 多くのユーティリティでサポートされている機構です。 「パターンマッチング表記」 は、 シェルや他のユーティリティで、ファイル名の展開に使われます。 このマニュアルエントリーでは、 正規表現の 2 つの形式、 「基本正規表現」 および 「拡張正規表現」 と、 ひとつの 「パターンマッチング表記」 の形式を定義します。

基本正規表現

基本正規表現 (RE) の表記 および構文規則は、 基本 RE を使用すると定義されたユーティリティに適用します。 以下の規則の例外は、 RE を使用する特定のユーティリティで説明されています。

単一の文字にマッチする RE

次の RE は、単一の文字 または単一の照合要素 にマッチします。

通常の文字

通常の文字は、 それ自身にマッチする RE です。 通常の文字は、 サポートされている文字セットのどの文字でもいいですが、 改行文字と、 下の 「特殊文字」 にリストしてある 正規表現特殊文字 は除きます。 通常の文字の前にバックスラッシュ (\) を付けると、 通常の文字それ自身として扱われますが、 (){}、 数字 19 は除きます (「複数の文字にマッチする RE」 を参照)。 マッチングは、文字をコードに組むビットパターンによるものであり、 文字のグラフィック表現によるものではありません。

特殊文字

前にバックスラッシュを付けた正規表現特殊文字は、 その特殊文字自身にマッチする正規表現です。 前にバックスラッシュが付いていない場合は、 そのような文字は、 RE の指定において特別な意味を持ちます。 正規表現特殊文字、および それらが特殊な意味を持つコンテキストを以下に示します。

. [ \  

ピリオド、左大かっこ、およびバックスラッシュは特殊文字です。 ただし大かっこ式の中で使われた場合は除きます (「RE 大かっこ式」 を参照)。

*  

アスタリスクは特殊文字です。 ただし、大かっこ式の中で使われた場合、 正規表現の最初の文字として使われた場合、 あるいは文字のペア \( に続く最初の文字として使われた場合は除きます (「複数の文字にマッチする RE」 を参照)。

^  

サーカムフレックスは、 RE すべての最初の文字として使われるか (「式の固定」 を参照)、 大かっこ式の最初の文字として使われる、 特殊文字です。

$  

ドル符号は、 RE すべての最後の文字として使われると、 特殊文字です (「式の固定」 を参照)。

デリミタ  

RE 全体の範囲を定めるのに使われている文字 (例えば、デリミタ) は、その RE において特殊文字です。

ピリオド

ピリオド (.) は、大かっこ式の外で使うと、 改行文字を除くどんなプリント可能文字にも プリント不可能文字にもマッチする RE です。

RE 大かっこ式

大かっこ ([ ]) で囲まれた大かっこ式は、 大かっこ式で示された空でない照合要素に含まれている、 単一の照合要素にマッチする RE です。

次の規則を、大かっこ式に適用します。

大かっこ式 

大かっこ式は、 「マッチングリスト式」 あるいは 「非マッチングリスト式」 のいずれかであり、 1 つかそれ以上の任意の順序の式で構成されます。 式は、照合要素、照合記号、非照合文字、 等価クラス、レンジ式、 あるいは文字クラスです。 右大かっこ (]) は、大かっこ式の中で リストの最初 (最初の ^ があればその後) に現れると、 特別な意味を失い、右大かっこ自身を表します。 それ以外の場合、右大かっこは 大かっこ式を終了させます (ただし、 有効な照合記号、 等価クラス、 あるいは文字クラスの最後の右大かっこではなくて、 照合記号あるいは等価クラス式の中の照合要素 でない場合です)。 次の特殊文字

. * [ \ 

(ピリオド、アスタリスク、左大かっこおよびバックスラッシュ) は、 大かっこ式の中では、その特別な意味を失います。

次の文字シーケンス

[.   [=   [: 

(左大かっこの後にピリオド、等号、またはコロンが続いたもの) は、大かっこ式の 中では特殊な意味をもち、照合記号、等価クラス式、および文字クラス式の 区切りとして使用されます。これらの記号の後には有効な式が続かねばならず、 マッチングは .]=]、 または :] で終了します。

マッチングリスト 

マッチングリスト式は、 そのリストの中に現れる文字のどれにでもマッチするという リストを示します。 サーカムフレックスをリストの最初の文字にすることはできません。 例えば、 [abc] は、 ab、 あるいは c のどれにでもマッチする RE です。

非マッチングリスト 

非マッチングリスト 式は、サーカムフレックス (^) で開始し、 改行文字と そのリストの中に現れる文字または照合要素 「以外」 のどれにでもマッチするという リストを示します。 例えば、 [^abc] は、 改行および ab、 あるいは c 以外のどんな文字にもマッチする RE です。 サーカムフレックスは、 リストの先頭、つまり左大かっこの直後に現れたとき 「のみ」 特別な意味を持ちます。

照合要素 

照合要素 は、 1 つかそれ以上の文字のシーケンスであり、 ロケールカテゴリ LC_COLLATE の最も最近の設定を経て定義された 照合シーケンスの中の 単一の要素を表します setlocale(3C) を参照)。

照合記号 

照合記号 は、大かっこ-ピリオド ([. .]) デリミタ の中に囲まれた、 照合要素です。 複数文字の照合要素は、 単一文字の照合要素と区別するために、 照合記号として表さなければなりません。 例えば、文字列 ch が有効な照合要素ならば、 ch が文字 c および h から成る単一のリストとして扱われ、 [[.ch.]] は 同じ文字の文字列にマッチする要素として扱われます。 大かっこ-ピリオドデリミタの中の文字列が 現在の照合シーケンス定義の中の 有効な照合要素でない場合、 記号は正しくない式として扱われます。

非照合文字 

非照合文字 は、 照合の目的においては無視される文字です。 定義では、 そのような文字は、 等価クラスあるいはレンジ式に加わることはできません。

等価クラス 

等価クラス 式は、 等価クラスに属する照合要素の集合を表します。 これは、 大かっこ-等号 ([= =]) デリミタの中に、 等価クラスのひとつ以上の照合要素を囲んで表されます。 例えば aA が同じ等価クラスに属する場合、 [[=a=]b][[=A=]b] はそれぞれ [aAb] に等価です。

レンジ式 

レンジ式 は、 照合要素の集合を表しており、 それは、 ロケールカテゴリ LC_COLLATE の最も最近の設定を経て定義された 現在の照合シーケンスの中の 2 つの要素の間にマッチします setlocale(3C) を参照)。 ハイフン (-) によって分離された、 最初の位置と最後の位置として表されます。

レンジの開始点と終了点は、 照合要素、照合記号、あるいは等価クラス式の いずれかでなければなりません。 等価クラス式 をレンジ式の終了点として使用すると、 等価クラスの中のすべての照合要素が レンジに含まれている、 と解釈されます。 例えば、照合の順序が AaBbCcchDd であり、文字 A および a ば等価クラスに属している場合は、式 [[=a=]-D][AaBbCc[.ch.]D] として扱われます。

レンジの開始点と終了点の両方とも、有効な 照合要素、 照合記号、 あるいは等価クラス式でなくてはならず、 レンジの終了点は開始点と比べて同じか高くなければなりません。 そうでないと、式は正しくありません。 例えば、 上の照合順序で、 E が非照合文字であると仮定すると、 式 [[=A=]-E] および [d-a] の両方とも正しくありません。

レンジの終了点は、それに続いているレンジ式の 開始点になることができます。 そのようなおのおののレンジ式は別々に評価されます。 例えば、大かっこ式 [a-m-o][a-mm-o] として扱われます。

ハイフン文字は、 リストの最初 (先頭の ^ の後) やリストの最後、あるいはレンジ式の最も右の記号 として現れると、その文字自身として扱われます。 例えば、式 [-ac] および [ac-] は等価であり、 ac、 または - のどの文字にもマッチします。 式 [^-ac] および [^ac-] は等価であり、 改行、 ac、 または - 以外のどの文字にもマッチします。 式 [%--] は、 定義された照合シーケンスの、 % および - の間のすべてを含んだ どの文字にもマッチします。 式 [--@] は、 定義された照合シーケンスの、 - および @ の間のすべてを含んだ どの文字にもマッチします。 式 [a--@] は、 a の前にある - が照合シーケンスにあると仮定すると、 正しくありません。

大かっこ式に -] の両方を指定しなければならない場合には、 ] を最初に置かねばならず ( ^ がある場合はその後)、 - は大かっこ式の中の最後に置かなければなりません。

文字クラス 

文字クラス式は、 ロケールカテゴリ LC_CTYPE の最も最近の設定を経て定義された 文字クラスに属する文字の集合を表します。 これは、大かっこ-コロン ([: :]) デリミタに囲まれた、 文字クラス名として表されます。

すべてのロケールでサポートされる標準文字クラス式。

[:alpha:] 

文字

[:upper:]  

大文字

[:lower:]  

小文字

[:digit:]  

10 進数の数字

[:xdigit:]  

16 進数の数字

[:alnum:]  

文字あるいは 10 進数の数字

[:space:]  

テキストを表示するときに、空白になる文字

[:print:]  

印字可能な文字

[:punct:]  

句読点の文字

[:graph:]  

表示可能な文字

[:cntrl:]  

制御文字

[:blank:]  

空白文字

例えば、ロケール変数 LC_CTYPEC が設定されている場合、 [[:upper:]] という表現は [A-Z] と等価になります。 同じように、 [[:digit:]] という表現は [0-9] と等価になります。

複数の文字にマッチする RE

次の規則は、 単一の文字にマッチする RE から 複数の文字にマッチする RE を構築するのに使用します。

RERE  

RE を連結すると、 RE の各構成要素にマッチする文字列の連結で、最初に現れたものにマッチする RE になります。 例えば、 RE bc は、 文字列 abcdefabcdef の 2 番目と 3 番目の文字にマッチします。

RE* 

単一の文字にマッチする RE の次にアスタリスク (*) を付けると、 アスタリスクの前の RE を 0 回以上繰り返したものにマッチする RE になります。 ひとつの文字にマッチする、最初に現れた文字列が選ばれ、 マッチした文字列は RE にマッチする文字の最大値を包含します。 例えば、 文字列 abbbcdeabbbbbbcde の中では、 RE b*c および RE bbb*c の両方が、 2〜5 番目の位置の サブストリングである bbbc にマッチします。 アスタリスクを RE の最初の文字にすると、その特別な意味は失われ、 アスタリスク自身として扱われます。

\(RE\) 

文字のペア \( および \) の間に囲むことにより、 ひとつの RE の中に、部分式を定義できます。 このような部分式は、 \( および \) が無かった場合と同じようにマッチします。 部分式は任意にネストできます。 \( の直後に続くアスタリスクは、その特別な意味を失い、 その文字自身として扱われます。 \) の直後に続く アスタリスクは、無効な文字として扱われます。

\n 

\n は、 \n. の前に現れた \(\) に囲まれた部分式にマッチした文字列と同じものにマッチします。 文字 n19 までの数字でなくてはならず、 n 番目の 部分式 n 番目の \( で始まり、対応するペアの \) で終わる部分式) であることを示します。 例えば、式 ^\(.*\)\1$ は、 同じ文字列の 2 つの連続で構成される行にマッチします。

\n の次にアスタリスクが続くと、 参照される部分式 の 0 回以上の出現にマッチします。 例えば、式 \(ab\(cd\)ef\)Z\2*Z\1 は、文字列 abcdefZcdcdZabcdef にマッチします。

RE\{m,n\} 

単一の文字にマッチする RE の後ろに \{m\}\{m,\}、 あるいは \{m,n\} が続くと、 RE の連続する出現にマッチする RE になります。 m および n の値は、 範囲が 0〜255 の 10 進数の整数でなくてはならず、 m で出現のちょうどの数、あるいは最小値を指定し、 n で出現の最大値を指定します。 \{m\} は、すぐ前の RE の、ちょうど m 回の繰返しにマッチします。 \{m,\} は、最低でも m 回の繰返しにマッチし、 \{m,n\} は、 mn の間の任意の数の繰返しにマッチします。

式にマッチする最初の文字列が選択され、 可能なかぎり多くの RE の繰返しを包含します。 例えば、文字列 abbbbbbbc の中で、 RE b\{3\} は 2〜4 番目の文字にマッチし、 RE b\{3,\} は 2〜8 番目の文字にマッチし、 そして RE b\{3,5\}c は 4〜9 番目の文字にマッチします。

式の固定

RE は、 次の規則に従って、 マッチする文字列を行の最初か最後に制限する (つまり固定する) ことができます。

  • サーカムフレックス (^) を RE の最初の文字として使うと、 その式を行の最初に固定します。 行の最初の文字で始まる文字列だけが、 その RE にマッチします。 例えば例、 RE ^ab は、行 abcdef の文字列 ab にマッチしますが、行 cdefab の同じ文字列にはマッチしません。

  • ドル符号 ($) を RE の最後の文字として使うと、 その式を行の最後に固定します。 行の最後の文字で終る文字列だけが、 その RE にマッチします。 例えば、 RE ab$ は、行 cdefab の文字列 ab にマッチしますが、行 abcdef の同じ文字列にはマッチしません。

  • RE が、 ^ および $ の両方で固定されると、 行となる文字列のみにマッチします。 例えば、 RE ^abcdef$ は、文字列 abcdef だけから成る行にのみマッチします。

固定文字の後に重複文字 (+、*) を使用するのは正しくありません。

拡張正規表現

拡張正規表現 (ERE) の表記 および構文規則は、 拡張 RE を使うと定義されたユーティリティに適用します。 以下の規則の例外は、 ERE を使用する特定のユーティリティで説明されています。

単一の文字にマッチする ERE

以下の ERE は、単一の文字 または単一の照合要素 にマッチします。

通常の文字

通常の文字は、 それ自身にマッチする ERE です。 通常の文字は、 サポートされている文字セットのどの文字でもいいですが、 改行文字と、 下の「特殊文字」にリストしてある 正規表現特殊文字 は除きます。 通常の文字の前にバックスラッシュ (\) を付けると、 通常の文字それ自身として扱われます。 マッチングは、文字コードのビットパターンによるものであり、 文字のグラフィック表現によるものではありません。

特殊文字

前にバックスラッシュを付けた正規表現特殊文字は、 その特殊文字自身にマッチする正規表現です。 前にバックスラッシュが付いていない場合は、 そのような文字は、 ERE の指定において特別な意味を持ちます。 拡張正規表現特殊文字、および それらが特殊な意味を持つコンテキストを以下に示します。

. [ \ ( ) * + ? $ |
  

ピリオド、左大かっこ、バックスラッシュ、 左かっこ、右かっこ、アスタリスク、プラス符号、 クエスチョンマーク、ドル符号、および縦線 は特殊文字です。 ただし大かっこ式の中で使われた場合は除きます (「ERE 大かっこ式」 を参照)。

^  

サーカムフレックスは特殊文字です。 ただし、大かっこ式の先頭でない位置で使われた場合を除きます。

デリミタ  

ERE 全体の範囲を定めるのに使われている文字は、その ERE において特殊文字です。

ピリオド

ピリオド (.) は、大かっこ式の外で使うと、 改行文字を除くどんなプリント可能文字にも プリント不可能文字にもマッチする ERE です。

ERE 大かっこ式

ERE 大かっこ式の構文および規則は、 上で述べた RE 大かっこ式のものと同じです。

複数の文字にマッチする ERE

次の規則は、 単一の文字にマッチする ERE から 複数の文字にマッチする ERE を構築するのに使用します。

EREERE  

ERE を連結すると、 ERE の各構成要素にマッチする文字列の連結で、最初に現れたものにマッチする RE になります。 かっこで囲まれた ERE の連結は、かっこがない場合にマッチする連結と同じものにマッチします。 例えば、 ERE bc および ERE (bc) のどちらも、文字列 abcdefabcdef の 2〜3 番目の文字にマッチします。 全体として一番長い文字列にマッチします。

ERE+ 

特殊文字プラス符号 (+) は、単一の文字にマッチする ERE の次か、 かっこで囲まれた ERE の連結の次に付けられると、 プラス符号の直前の ERE を 1 回以上繰り返したものにマッチする ERE になります。 マッチする文字列は可能なかぎり多くの繰返しを包含します。 例えば、 ERE b+c は、文字列 acabbbcde の 4〜7 番目の文字にマッチします。

ERE* 

特殊文字アスタリスク (*) は、単一の文字にマッチする ERE の次か、 かっこで囲まれた ERE の連結の次に付けられると、 アスタリスクの直前の ERE を 0 回以上繰り返したものにマッチする ERE になります。 例えば、 ERE b*c は、文字列 cabbbcde の最初の文字にマッチします。 選択が複数ある場合は、 マッチングを満たす文字列のうち、 一番左側にあり最も長いものが選ばれます。 例えば、 ERE b*cd は、文字列 cabbbcdebbbbbbcdbc の 3〜7 番目の文字にマッチします。

ERE? 

特殊文字クエスチョンマーク (?) は、単一の文字にマッチする ERE の次か、 かっこで囲まれた ERE の連結の次に付けられると、 クエスチョンマークの直前の ERE の 0 回または 1 回の出現にマッチする ERE になります。 マッチする文字列は可能なかぎり多くの繰返しを包含します。 例えば、 ERE b?c は、文字列 acabbbcde の 2 番目の文字にマッチします。

ERE{m,n} 

は、基本正規表現構文 ERE\{m,n\} と同じ働きをするインターバル表現です。

オルタネーション

特殊文字である縦線 (|) で分離された 2 つの ERE は、 そのどちらかの ERE にマッチする文字列に、マッチします。 例えば、 ERE ((ab)|c)d は、文字列 abd にも文字列 cd にもマッチします。 縦線 '|' は、次の場所では使用できません。

  • ERE の先頭または最後では使用できません。

  • 縦線の直後では使用できません。

  • 左かっこの後では使用できません。

  • 右かっこの直前では使用できません。

優先順位

優先順位を、次に高い方から低い方へ示します。

[ ]  

大かっこ

* + ?  

アスタリスク、プラス符号、クエスチョンマーク

^ $  

固定

連結

|  

オルタネーション

例えば、 ERE abba|cde は、 「abba あるいは cde のどちらかにマッチする」と解釈されます。 「abb の次に a または c が続き、その次に de が続くものにマッチする」という意味にはなりません (なぜなら、連結はオルタネーションより高い優先順位を持つからです)。

式の固定

ERE は、 次の規則に従って、 マッチする文字列を行の最初か最後に制限する (つまり固定する) ことができます。

  • サーカムフレックス (^) は、行の先頭にマッチします (その式を行の先頭に固定します)。 例えば、 ERE ^ab は、行 abcdef の中の文字列 ab にマッチしますが、行 cdefab の同じ文字列にはマッチしません。

  • ドル符号 ($) は、行の末尾にマッチします (その式を行の末尾に固定します)。 例えば、 ERE ab$ は、行 cdefab の文字列 ab にマッチしますが、行 abcdef の同じ文字列にはマッチしません。

  • ERE が、 ^ および $ の両方で固定されると、 行となる文字列のみにマッチします。 例えば、 ERE ^abcdef$ は、文字列 abcdef だけから成る行にのみマッチします。 ERE ^$ には空行のみがマッチします。

固定文字の後に重複文字 (+、*) を使用するのは正しくありません。

パターンマッチング表記

以下の規則は パターンマッチング表記に適用されますが、 パターンマッチングを用いる特定のユーティリティの説明に 例外が述べられています。

単一の文字にマッチするパターン

次のパターンは、 単一の文字または単一の照合要素にマッチします。

通常の文字

通常の文字は、 それ自身にマッチするパターンです。 通常の文字は、 サポートされている文字セットのどの文字でもいいですが、 改行文字と、 下の「特殊文字」にリストしてある パターンマッチング特殊文字 は除きます。 マッチングは、文字コードのビットパターンによるものであり、 文字のグラフィック表現によるものではありません。

特殊文字

前にバックスラッシュ (\) を付けたパターンマッチング特殊文字は、 その特殊文字自身にマッチするパターンです。 前にバックスラッシュが付いていない場合は、 そのような文字は、 パターンの指定において特別な意味を持ちます。 パターンマッチング特殊文字、および それらが特殊な意味を持つコンテキストを以下に示します。

? * [  

クエスチョンマーク、アスタリスク、および左大かっこは特殊文字です。 ただし大かっこ式の中で使われた場合は除きます ( 「パターン大かっこ式」 を参照)。

クエスチョンマーク

クエスチョンマーク (?) は、 大かっこ式の外で使われると、 改行文字を除くどんなプリント可能文字にも プリント不可能文字にもマッチする パターンです。

パターン大かっこ式

パターン大かっこ式の 構文および規則は、 上で述べられた RE 大かっこ式と同じですが、 次の例外があります。

  • 感嘆符文字 (!) は、 正規表現表記における 非マッチングリストでのサーカムフレックス文字 (^) の役割をします。

  • バックスラッシュは、大かっこ式の中でも、 エスケープ文字として使われます。

複数の文字にマッチするパターン

次の規則は、 単一の文字にマッチするパターンから、 複数の文字にマッチするパターンを構築するのに使用します。

*  

アスタリスク (*) は、null 文字列を含むどのような文字列にもマッチするパターンです。

RERE  

単一の文字にマッチするパターンを連結すると、 各パターンにマッチする文字あるいは照合要素の連結に マッチする、 有効なパターンになります。 例えば、パターン a[bc] は、文字列 ab および ac にマッチします。

単一の文字にマッチするパターンを、1 つ以上のアスタリスクと共に、 1 つかそれ以上連結したものは、有効なパターンです。 そのようなパターンでは、 おのおののアスタリスクが、 パターン中でアスタリスクの次の文字にマッチする 最初の文字まで、 0 個以上の文字から成る文字列にマッチします。

例えば、パターン a*d は文字列 adabd、 および abcd にマッチしますが、文字列 abc にはマッチしません。 パターンの最初あるいは最後の文字がアスタリスクの場合は、 アスタリスクは、 パターンの残りにマッチした文字の前あるいは後ろの、 0 個以上の文字にマッチします。 例えば、パターン a*d* は、文字列 adabcdabcdefaaaad、 および adddd にマッチし、 パターン *a*d は、文字列 adabcdefabcdaaaad、 および adddd にマッチします。

ファイル名展開にパターンを使用する場合の規則の制限

以上に述べたパターンマッチングの規則は、 パターンマッチング表記が、 sh(1)csh(1)ksh(1)、および make(1) によってファイル名の展開に使われる場合、 以下の規則によって制限されます。

  • ファイル名 (スラッシュ (/) 文字に続く、 パス名の構成要素を含む) がピリオド (.) で始まる場合、 そのピリオドは、 パターンの最初の文字としてピリオドを使用して、 明示的にマッチしなければいけません。 アスタリスク特殊文字、クエスチョンマーク特殊文字、あるいは大かっこ式のいずれにもマッチしません。 この規則は make(1) には適用されません。

  • パス名の中のスラッシュ文字は、 パターンの中にスラッシュを使用して、 明示的にマッチしなければいけません。 アスタリスク特殊文字、クエスチョンマーク特殊文字、あるいは大かっこ式のいずれにもマッチしません。 make(1) では、 パス名の最後のスラッシュ文字の次の部分だけは、 特殊文字にマッチします。 すなわち、 最後のスラッシュ文字以前のすべての特殊文字が、 その特別な意味を失います。

  • 指定されたパターンは、 存在する適切なファイル名およびパス名 にマッチします。 パターンが、 存在する複数のファイル名あるいはパス名 にマッチした場合、 パターンはそれらのファイル名およびパス名と置き換えられ、 有効な照合シーケンスに応じてソートされます。 パターンが、存在するファイル名あるいはパス名に マッチしない場合、 パターン文字列は変更されずに残ります。

  • パターンの始まりが チルド記号 (~) の場合は、 最初のスラッシュの前の通常の文字 (あるいは、スラッシュがない場合はすべての文字) は、可能ならばログイン名として扱われます。 ログイン名が null (つまり、パターンにはチルド記号だけか、チルド記号の直後にスラッシュがある) 場合は、 チルド記号は、 プロセスのホームディレクトリを指すパス名の後ろにスラッシュをつけた ものに置き換わります。 そうでない場合は、 チルド記号およびログイン名の組は、 ログイン名に対応するホームディレクトリを指すパス名の後ろに スラッシュをつけたものに置き換わります。 システムがログイン名を識別できない場合、 その結果はインプリメンテーションで定義されます。 この規則は、 sh(1) あるいは make(1) には適用されません。

  • パターンに $ 文字が含まれる場合は、 変数の置換が起こります。 環境変数を、次のようにして パターンの中に埋め込めます。

    $name

  • または

    ${name}

  • 中かっこは、 name の次の文字が name に属すると解釈されないことを保証するのに使用します。 置換は、示した順序で一度だけ行われます。 すなわち、 置換の結果新しい名前が現れたかどうかを調べるのに、 結果の文字列をもう一度調べることはしません。

case コマンドでパターンを使用する場合の規則の制限

以上に述べたパターンマッチングの規則は、 パターンマッチング表記が、 sh(1) および ksh(1) の case コマンドに使われる場合、 以下の規則によって制限されます。

  • 複数のオルタナティブパターンを、 各パターンを縦線文字 (|) で区切って、 単一の項目に指定できます。 この方法で分離されたパターンのいずれかにマッチする文字列は、 対応するコマンドリストを選択させます。

参照

ksh(1)、sh(1)、fnmatch(3C)、glob(3C)、regcomp(3C)、setlocale(3C)、environ(5)

標準準拠

<regexp.h>: AES、SVID2、SVID3、XPG2、XPG3、XPG4

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.