正規表現について
Javaのjava.lang.String.matchesを用いて、文字列に日本語が含まれるとエラーとしたいのですがうまくいきません。
例えば、下記のソースでひらがな、カタカナ、漢字があると弾く想定なのですが、想定通りに行かずです...
if (str.matches("^[ぁ-んーァ-ヶー一-龠]+$")){
System.out.println("日本語は使用しないでください");
}
①あああ
②あああaa
③aaaあああ
④aaaあああaaa
①だとうまく弾いてくれるのですが、②③④だと弾いてくれません。
+$を*$にしても同様の事象です。
原因と正しい記述法を教えていただきたいです。
まだ回答がついていません
会員登録して回答してみよう