ひよっこ。

I want to…

Javaの正規表現で日本語のみを許す場合を考えてた

Posted by hikaruworld : 2011 1月 29

とりあえず、Java1.6でUTF-8の場合に、
俗にいう日本語(笑)?と英数だけ通したいなーと思って正規表現書いてた。
日本語とか空白とか、句読点とか、空文字だけは駄目らしい。。
こんな感じでいいのか、かなり不安。

あとでテスト書こう…。

そういやCJKって中国語、日本語、韓国語の頭文字だったんだね。
知らんかった。。。

/**  俗にいう日本語???と半角英数のみを許可するPattern */
public static final String IN_JP_PATTERN = "^"	// 行の先頭
  // 空文字("")を許可
  + "\\??|"
  // Unicodeブロックでひらがな
  // -> http://code.cside.com/3rdpage/jp/utf-8/Hiragana.html
  + "[\\p{InHiragana}|"
  // Unicodeブロックでカタカナ
  // -> http://code.cside.com/3rdpage/jp/utf-8/Katakana.html
  + "\\p{InKatakana}|"
  // Unicodeブロックで半角カタカナ
  // -> ?
  + "\\p{InHalfwidthAndFullwidthForms}|"
  // CJK互換漢字
  // http://code.cside.com/3rdpage/jp/utf-8/CJK_Compatibility_Ideographs.html
  + "\\p{InCJKUnifiedIdeographs}|"
  // CJK互換用文字
  // http://code.cside.com/3rdpage/jp/utf-8/CJK_Compatibility.html
  //+ "\\p{InCJKCompatibility}|"
  // CJK互換形
  // http://code.cside.com/3rdpage/jp/utf-8/CJK_Compatibility_Forms.html
  // + "\\p{InCJKCompatibilityForms}|"
  // CJK互換漢字
  // http://code.cside.com/3rdpage/jp/utf-8/CJK_Compatibility_Ideographs.html
  // + "\\p{InCJKCompatibilityIdeographs}|"
  // CJK互換漢字補助
  // http://code.cside.com/3rdpage/jp/utf-8/CJK_Compatibility_Ideographs_Supplement.html
  // + "\\p{InCJKCompatibilityIdeographsSupplement}|"
  // CJK部首補助
  // http://code.cside.com/3rdpage/jp/utf-8/CJK_Radicals_Supplement.html
  // + "\\p{InCJKRadicalsSupplement}|"
  // CJKの記号及び句読点
  // http://code.cside.com/3rdpage/jp/utf-8/CJK_Symbols_and_Punctuation.html
  // + "\\p{InCJKSymbolsAndPunctuation}|"
  // CJK統合漢字拡張A http://code.cside.com/3rdpage/jp/utf-8/CJK_Unified_Ideographs_Extension_A.html
  // + "\\p{InCJKUnifiedIdeographsExtensionA}|"
  // CJK統合漢字拡張B http://code.cside.com/3rdpage/jp/utf-8/CJK_Unified_Ideographs_Extension_B.html
  // + "\\p{InCJKUnifiedIdeographsExtensionB}|"
  // 囲みCJK文字
  // 月http://code.cside.com/3rdpage/jp/utf-8/Enclosed_CJK_Letters_and_Months.html
  // + "\\p{InEnclosedCJKLettersAndMonths}|"
  + "a-zA-Z|"// a ~ z または A ~ Z
  + "\\d"// 数字
  + "]"
  + "+$";// 行の末尾

参考:東アジア文字:ユニコード文字一覧表
参考:日本語に絡むUnicodeブロックとスクリプト(正規表現)
参考:漢 字 文 献 情 報 処 理 研 究 会 メ ー ル マ ガ ジ ン

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。