以下是我的一段代码,我想匹配整个字符串. 
String res = "20100422102451" ; 
Pattern pattern = Pattern.compile("\\d{14}");
Matcher mat = pattern.matcher(res);
System.out.println(mat.matches());
好像是什么模式,谁知道的朋友告诉我,字符串是15个数字,我的正则只有14个,我想让结果返回false 
我知道JS里面好像后面加个g就表示整个匹配. 
谢谢大家

解决方案 »

  1.   

    ^[\\d][\\d]{12}[\\d]$:以数字开头,以数字结尾,中间12个数字
      

  2.   


    String res = "20100422102451"; //res.length = 14
    Pattern pattern = Pattern.compile("\\d{14}"); //匹配位数是14的数字
    Matcher mat = pattern.matcher(res);
    System.out.println(mat.matches());//当然往回true,想返回false就在res是加一个位数
      

  3.   

    别外加/g 是全文匹配,JS代码如://添加String类型的trim属性
    String.prototype.trim=function(){
      return this.replace(/^\s+|\s+$/g,"");//全文替换 空格
    }
      

  4.   


    String res = "20100422102451" ; //14个数字
    Pattern pattern = Pattern.compile("\\d{13}+");//+表示强占只匹配整个字符串
    Matcher mat = pattern.matcher(res);
    System.out.println(mat.matches());输出:
    false
      

  5.   

    \d{14}(?![0-9])
    利用负向前瞻方式,会返回false