前回java.lang.Character クラスの static メソッドを用いて、Java での空白文字を見ました。 このとき

  • Character#isSpaceChar()
  • Character#isWhitespace()

という2つのメソッドを使って空白文字かどうかを判定していました。

[ \t\n\x0B\f\r]

と同じです。 つまり、正規表現での空白文字は「' ', '\t', '\n', '\x0B', '\f', '\r'」の6つだということです。 各文字をもう少し詳しく見ると下表のようになります:

スペース (Space) ' ' \u0020
水平タブ (HT) '\t' \u0009
改行 (LF) '\n' \u000a
垂直タブ (VT) '\u000b \u000b
フォームフィード (FF) '\f' \u000c
復帰キャリッジ・リターン (CR) '\r' \u000d


ちなみに、これらは全て Character#isWhitespace() で指定される空白文字に含まれ、XML の空白文字を含みます。 雰囲気で包含関係を書き下すと以下のようになります:

*1:ちなみに Character#isWhitespace() メソッドで指定される空白文字に一致するパターンは「\p{javaWhitespace}」で表すことが出来ます。