ブラケット表現と文字クラス

ブラケット表現は、一連の文字または文字クラスを [] で囲んだリストです。リスト内の単一の文字の一致やリスト内の文字の範囲の一致に使用されます。リスト内の最初の文字がキャレット「^」の場合、リストにない文字に一致します。

例:

パターン

一致

[abc]

a、b、またはc

[a-z]

a~z

[^abc]

a、b、またはc以外の任意の文字

[[:alpha:]]

任意の英字 (下記を参照)

次の文字クラスはブラケット表現内で使用しないと、一般的な表現として扱われます。

文字クラス

説明

[:alpha:]

英字

[:digit:]

数字

[:alnum:]

英数字

[:cntrl:]

制御文字

[:blank:]

スペースとタブ

[:space:]

すべての空白文字

[:graph:]

スペースや制御文字のような文字を除く空白以外の文字

[:print:]

[:graph:] と同様だがスペースを含む

[:punct:]

句読点

[:lower:]

小文字の英字

[:upper:]

大文字の英字

[:xdigit:]

使用可能な16進数字 (0-9a-fA-F)

例:
  • a[[:digit:]]bは、「a0b」、「a1b」、...、「a9b」に一致します。

  • a[:digit:]bは、「a:b」、「adb」、...、「atb」に一致します。

  • [[:digit:]abc]は、任意の数字または「a」、「b」、「c」のいずれかに一致します。

  • [abc[:digit:]]は、任意の数字または「a」、「b」、「c」のいずれかに一致します。

大文字と小文字が区別されないパターンでは、[:lower:] と [:upper:] は [:alpha:] と同等です。