文字セットは「[」で始まり、エスケープされない「]」 (POSIX 文字セット指定子の一部でなく、「[」の直後に続かない) で終了します。
以下の文字には特別な意味があり、リテラルとして使用する場合はエスケープする必要があります。
範囲演算子。ただし、「[」の直後にある場合を除きます (特別な意味を失うため)。
始めの「[」の直後にある場合は補集合を表します。文字セット全体の補集合となります。それ以外の場合はリテラルの「^」です。
「isalnum」が true を返す文字。
「isalpha」が true を返す文字。
「iscntrl」が true を返す文字。
「isdigit」が true を返す文字。
「isgraph」が true を返す文字。
「islower」が true を返す文字。
「isprint」が true を返す文字。
「ispunct」が true を返す文字。
「isspace」が true を返す文字。
「isupper」が true を返す文字。
「isxdigit」が true を返す文字。
例: [[:xdigit:]XY]
は通常、[0123456789ABCDEFabcdefXY]
と等価です。
定義済みのエスケープ文字セットを、新しく定義されたセットに含めることもできます。そうした場合、[\d\s]
は数字と空白文字に一致できるようになります。
また、リテラルと評価されるエスケープ シーケンスは文字セットの内部で機能します。