ほとんどすべてのメタ文字(ドット。
を含む) 、 +
、 *コード> および
?
数量詞、文字列の終わりのアンカー $
、など)いくつかの注目すべき例外を除いて、文字クラスでは特別な意味はありません:
- 閉じ括弧
]
、明らかな理由で - キャレット
^
、これは文字クラスを否定するために使用されます(例:[^ ab]
しかし任意の文字に一致しますa
およびb
。 - ハイフン
-コード> 、範囲を示すために使用されます(例:
[0-9]
任意の数字に一致します)
ただし、キャラクタークラス内の戦略的な場所に配置されている場合は、これらをエスケープせずに追加できます。
- 閉じ角かっこは、開き角かっこの直後に配置できます。例:
[] a]
]
に一致 またはa
。 - キャレットはどこにでも配置できます 開き角かっこの後、例:
[a ^]
^
に一致 またはa
- ハイフンは、開始ブラケットの直後または終了ブラケットの前に配置できます(例:
[-a]
)。 および[a-]
どちらもa
と一致します および-
。
詳細については、 POSIXregexのマニュアルページを参照してください。
(Tomalak Geret'kalに感謝します!)