ブラケット表現とは、文字のリストや文字クラスを角カッコ [] で囲んだものです。ブラケット表現を使用することによって、リスト内の文字または文字範囲に対する一致を検索できます。リストの最初の文字が「^」の場合は、そのリスト以外の文字が検索されます。
以下に例を示します。
[abc] |
a、b、またはc |
[a-z] |
a~z |
[^abc] |
a、b、c以外の任意の文字 |
[[:alpha:]] |
任意の英字 (次の表を参照) |
それぞれの文字クラスは、標準Cの対応するisXXX関数と同等の文字セットを表します。たとえば、[:alpha:] は、isalpha()でtrueが返される文字 (例:
任意の英字) を指定します。文字クラスはブラケット表現で囲む必要があります。
[:alpha:] |
英字 |
[:digit:] |
数字 |
[:alnum:] |
英数字 |
[:cntrl:] |
制御文字 |
[:blank:] |
空白とタブ |
[:space:] |
すべての空白文字 |
[:graph:] |
表示可能文字 (空白、制御文字、またはこれらと同種の文字以外のもの) |
[:print:] |
[:graph:] と同様、ただし空白文字を含む |
[:punct:] |
句読点文字 |
[:lower:] |
アルファベット小文字 |
[:upper:] |
アルファベット大文字 |
[:xdigit:] |
16進数 (0-9a-fA-F) で使用可能な数字 |
大文字と小文字が区別されない表現では、[:lower:] と [:upper:] は [:alpha:] と同じになります。