Next: , Previous: , Up: 正規表現の構文   [Contents][Index]


35.3.1.2 文字クラス

以下は文字候補内で使用できるクラスと意味のテーブルです。クラス名を囲む‘[’と‘]’の文字は名前の一部なので、これらのクラスを使用する正規表現では1つ余分にカッコ(brackets)が必要になります。たとえば1つ以上のアルファベットか数字のシーケンスにマッチする正規表現は、‘[:alnum:]+’ではなく‘[[:alnum:]]+’です。

[:ascii:]

これは任意のASCII文字(コード0 – 127)にマッチする。

[:alnum:]

これは任意の英数字にマッチする。マルチバイト文字では、アルファベット文字か数字であることを示すUnicodeプロパティ‘general-category’ (文字のプロパティを参照)をもつ文字にマッチする。

[:alpha:]

これは任意のアルファベットにマッチする。マルチバイト文字では、アルファベット文字であることを示すUnicodeプロパティ‘general-category’ (文字のプロパティを参照)をもつ文字にマッチする。

[:blank:]

これは Unicode Technical Standard #18のAnnex Cで定義される水平の空白文字(horizontal whitespace)にマッチする。特にスペース、タブ、およびスペース区切りであることをUnicodeの‘general-category’プロパティ(文字のプロパティを参照)が示す他の文字にマッチする。

[:cntrl:]

これはコードが1から31の範囲にあるすべての文字にマッチする。

[:digit:]

これは‘0’から‘9’までにマッチする。つまり‘[-+[:digit:]]’は‘+’と‘-’、同様に任意の数にマッチする。

[:graph:]

これはUnicodeの‘general-category’プロパティで示されるようなグラフィック文字(スペース文字、ASCIIと非ASCIIの制御文字、サロゲートコードポイント、Unicodeで未割り当てのコードポイントを除くすべて)にマッチする(文字のプロパティを参照)。

[:lower:]

これはカレントのcaseテーブル(caseテーブルを参照)で小文字と判断される文字すべてにマッチする。case-fold-searchが非nilなら大文字にもマッチする。バッファーはデフォルトとは異なるローカルのcaseテーブルを独自にもてることに注意。

[:multibyte:]

これは任意のマルチバイト文字にマッチする(テキストの表現方法を参照)。

[:nonascii:]

これは非ASCII文字にマッチする。

[:print:]

これは任意のプリント文字(スペース文字か‘[:graph:]’でマッチされるグラフィック文字のいずれか)にマッチする。

[:punct:]

これは任意の句読点文字(punctuation character)にマッチする(現在のところマルチバイト文字では単語構文以外のすべてにマッチするが、文字の構文はメジャーモード次第なのでメジャーモードごとに正確な定義は様々である)。

[:space:]

空白文字の構文(構文クラスのテーブルを参照)をもつ任意の文字にマッチする。文字の構文、すなわち何の文字を“空白”とみなすかはメジャーモード次第だということに注意。

[:unibyte:]

これは任意のユニバイト文字(テキストの表現方法を参照)にマッチする。

[:upper:]

これはカレントのcaseテーブル(caseテーブルを参照)で大文字と判断される文字すべてにマッチする。case-fold-searchが非nilならこれは小文字にもマッチする。バッファーはデフォルトとは異なるローカルのcaseテーブルを独自にもてることに注意。

[:word:]

単語の構文(構文クラスのテーブルを参照)をもつ任意の文字にマッチする。文字の構文、すなわち何の文字を“単語の構成文字”とみなすかはメジャーモード次第だということに注意。

[:xdigit:]

これは16進数の数字‘0’から‘9’、‘a’から‘f’と‘A’から‘F’にマッチする。