验证字符串:  Q/GZZYXXZ.12.01.02111031-2011必须以,Q/GZZ 开头,YXXZ可以是数字字符的组合,【.12.01.02】这个必须是数字机上符号点的形式(还可以加两位数字也就是12.01.02.02),后面两位11,可以是数字字符组合,在后面就是1031-2011,月,日 -年,
求答案!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    string str = "Q/GZZYXXZ.12.01.02111031-2011";        Regex reg = new Regex(@"Q/GZZ[a-zA-Z0-9]{4}(\.\d{2}){3}(\.[\d]{2})?[a-zA-Z0-9]{2}[\d]{4}-[\d]{4}");        foreach (Match m in reg.Matches(str))
            {
                Response.Write(m.Value);
            }
      

  2.   


    js  
    var str = "Q/GZZYXXZ.12.01.02111031-2011";
                var re = /Q\/GZZ[a-zA-Z0-9]{4}(?:\.\d{2}){3}(?:\.[\d]{2})?[a-zA-Z0-9]{2}[\d]{4}-[\d]{4}/;
                var str1 = re.exec(str);
                alert(str1);
      

  3.   

    大神为什么不用。test(),我只需要返回是否匹配就可以了,这个怎么返回整个字符串??
      

  4.   

    var str = "Q/GZZYXXZ.12.01.02111031-2011";
                var re = /^Q\/GZZ[a-zA-Z0-9]{4}(?:\.\d{2}){3,4}(?:\.[\d]{2})?[a-zA-Z0-9]{2}[\d]{4}-[\d]{4}$/;
                var str1 =re.exec(str);
                alert(str1==null);
    应该要这么写吧,
      

  5.   


     var str = "Q/GZZYXXZ.12.01.02.23111031-2011";
                var re = /Q\/GZZ[a-zA-Z0-9]{4}(?:\.\d{2}){3,4}[a-zA-Z0-9]{2}[\d]{4}-[\d]{4}/;
                
                if (re.test(str)) {
                    alert("成功");
                }
                else {
                    alert("失败");
                }
      

  6.   

    现在格式变了,中间有括号,Q/GZZYXX Z.01.01.02(BG)1031-2011   xx后面是一个空格,怎么匹配?????
      

  7.   


    var str = "Q/GZZYXXZ .12.01.02.23(11)1031-2011";
                var re = /Q\/GZZ[a-zA-Z0-9]{4}\s?(?:\.\d{2}){3,4}\(?[a-zA-Z0-9]{2}\)?[\d]{4}-[\d]{4}/;            if (re.test(str)) {
                    alert("成功");
                }
                else {
                    alert("失败");
                }
    //这次,不论有没有空格和括号,都可以
      

  8.   

    看错了一个位置。嘿嘿
    用这个
    var str = "Q/GZZYXXZ.12.01.02.23(11)1031-2011";
                var re = /Q\/GZZ[a-zA-Z0-9]{3}\s?[a-zA-Z0-9](?:\.\d{2}){3,4}\(?[a-zA-Z0-9]{2}\)?[\d]{4}-[\d]{4}/;            if (re.test(str)) {
                    alert("成功");
                }
                else {
                    alert("失败");
                }
      

  9.   

    还有就是,你那个式子没有括号的情况下【Q/GZZYXX Z.12.01.02.2311)1031-2011】也匹配成功了,应该是格式错误,