2011-01-31 10 views

答えて

6

これは正規表現スタイルの文字一致構文です。 Bash Reference Manualから、§3.5.8.1 (Pattern Matching)

[...] は、囲まれた文字のいずれかと一致します。ハイフンで区切られた1対の文字は、範囲式を表します。現在のロケールの照合シーケンスと文字セットを使用して、それら2つの文字の間でソートされた文字が一致します。‘[’に続く最初の文字が‘!’または‘^’の場合、囲まれていない文字は一致します。 ‘−’は、それをセットの最初または最後の文字として含めることで一致させることができます。 ‘]’は、それをセットの最初の文字として含めることで一致させることができます。範囲式の文字のソート順は、現在のロケールと、シェル変数LC_COLLATE(設定されている場合)の値によって決まります。

たとえば、デフォルトのCロケールでは、‘[a-dx-z]’は '[abcdxyz]'に相当します。多くのロケールでは、辞書順の文字が並べ替えられ、これらのロケールでは‘[a-dx-z]’は通常‘[abcdxyz]’と等価ではありません。例えば、‘[aBbCcDdxXyYz]’と同等である可能性があります。ブラケット式の範囲の伝統的な解釈を得るには、LC_COLLATEまたはLC_ALLという環境変数を値‘C’に設定して、Cロケールの使用を強制できます。 ‘[’‘]’

、文字クラスは、クラスはPOSIX標準で定義された以下のクラスの一つであり、構文[:class:]を使用して指定することができます。

  alnum alpha ascii blank cntrl digit graph lower 
      print punct space upper word xdigit 

文字クラスの一致そのクラスに属するすべての文字。単語の文字クラスは、文字、数字、および文字‘_’と一致します。 ‘[’‘]’

、同値クラスは、文字cとして(現在のロケールによって定義されるような)同じ照合重みを持つすべての文字にマッチする構文[=c=]を使用して指定することができます。

‘[’‘]’の中では、[.symbol.]という文字列は、照合記号のシンボルと一致します。

(最も一般的な使用パターンに重点が追加されています)

5

これは、グロビング('*'および'?')に加えて、正規表現について説明するためにチュートリアルで使用されます。たとえば、[a-z]の正規表現は1つの小文字に一致します。

1

実際にワイルドカードとは、たとえば[abc]です。 3つの文字のいずれかに一致します。

関連する問題