例如,判断护照,以G开头,后跟8位数字,也就是说一共9位数字。
怎么写正则呢?

解决方案 »

  1.   


        String str = "G18234656";
        System.out.println(str.matches("^G\\d{8}$"));
      

  2.   

    G\d{9}
    看API好像是这么写的。
      

  3.   

    2L的朋友,^G\\d{8}$
    这个不行啊
      

  4.   

    你是javaScript的正则吧,javascript正则转义只需要一个\而java中是要\\
    限制不能出现数字就不要用\d吗,用\D也就是[^0-9]的意思
      

  5.   

    的确是js,发错地方了 - -
    明白了,如果正则同时加了^$,貌似就能限制长度了,中间如果要有其他字符的话必须还要写东西
    话说,[^0-9]倒是不行啊,abc123能通过...
      

  6.   

    想了另外个办法:
    var rule = /\d/g;
    !rule.test(str);
    反一下就可以了我想知道如果不执行反操作应该怎么写
      

  7.   

    还有个问题,ab/cd/ef/gh
    如果将/全部换成空格?
      

  8.   

    var regex=////;
    var str="ab/cd/ef/gh ";
    str.replace(regex," ");
      

  9.   

    //不就变成注释了么?
    /是如何用正则表示的?\倒是知道怎么表示
    var rule = new RegExp("/");
    var rule = ///;
    第一个不知道对不,第二个直接变成注释了
    暂时还没想出来
      

  10.   

    var s = new RegExp("\/");这个可行
    但是能否用直接量来创建这个表达式?
      

  11.   

    sorry,我写的不对
    var regex=/\//; 
    var str="ab/cd/ef/gh "; 
    str.replace(regex," "); 
     
     
    对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP  
      

  12.   

    Java中这么写"^G\\d{8}"就这样就可以了呀