• ベストアンサー

日本語の正規化表現

urizakaです J2SDK1.4から正規表現が標準についたと知り、さっそくカタカナエラーチェックのためのBeanを作ってみたのですが、どんな文字列(カタカナ、英語、ひらがな…etc)と比較させても「False」しか戻ってこないという状態で、うまく行きません。 /** *カタカナエラーチェック:カタカナは使われているかどうか? *@param s 調べる **/ public boolean checkKkana(String s){ Pattern pattern = Pattern.compile("[^アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨワヲン]"); Matcher matcher = pattern.matcher(s); boolean check = matcher.matches(); return check; } } もしかすると、日本語を処理するのには特別な方法が必要なのでしょうか? すみませんが、よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

正規表現が違うような気がします。 "[^アイウエオ……ワヲン]" ではなくて "[アイウエオ……ワヲン]" では? (蛇足ですが、「ャ」や「ュ」などは入れなくていいんですか?)

urizaka
質問者

お礼

…正規化についての本を読んでいて同じことに気づきました。 そのとおりです。 あと、「ャ」とか「ュ」もありましたね…忘れてました。 もうちょっと正規化について勉強してみてから機能を使う ことにしてみます。 ありがとうございました。

その他の回答 (1)

  • yuji
  • ベストアンサー率37% (64/169)
回答No.1

そういう人は jakarta oro のライブラリを 使うと幸せになれるでしょう。

参考URL:
http://jakarta.apache.org/oro/index.html

関連するQ&A