ブラケット表現とは、文字のリストや文字クラスを角カッコ [] で囲んだものです。ブラケット表現を使用することによって、リスト内の文字または文字範囲に対する一致を検索できます。リストの最初の文字が「^」の場合は、そのリスト以外の文字が検索されます。
以下に例を示します。
| [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:] と同じになります。