求输入只允许汉字的正则表达式?

解决方案 »

  1.   

    汉字包括很广的,你是指中国字,简体? 繁体? 等等,可以查一下区位表,直接用\uxxxx-\uyyyy这种形式就可以了
      

  2.   

    import java.util.regex.*;
    public class TestString { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
             String s= "sfa10你cc";
             Pattern pa = Pattern.compile("[\u4e00-\u9fa5]+");
             Matcher ma = pa.matcher(s);
             while(ma.find()){
              System.out.print(ma.group());
             }
    }}
      

  3.   

    只允许汉字的话改成
    Pattern pa = Pattern.compile("^[\u4e00-\u9fa5]*$");//0个汉字应该也行的吧
    Matcher m = pa.macther("我们")
    return m.find();//true为全部汉字,否则是false