求正则表达式:要求是可以是:1位数(要求是A-Z字符),3位数(要求是A-Z字符占第一位2,3位是01-99数字)
,4位数(要求是A-Z字符占第一位,2,3位是01-99数字,第4位是A-Z字符),5位数(要求是A-Z字符占第一位,2,3位是01-99数字,第4位是A-Z字符,第5位是A-Z字符),7位数(要求是A-Z字符占第一位,2,3位是01-99数字,第4位是A-Z字符,第5位是A-Z字符,第6和7位是01-99数字)
例如:A01AA99,Z99BZ07,A,B,Z,Z08,Z99,Z99C,Z08CB,D96BZ,D95BC09,D95BC76

解决方案 »

  1.   


                Regex regex = new Regex(@"^([A-Z]|[A-Z]\d{2}|[A-Z]\d{2}[A-Z]{1,2}|[A-Z]\d{2}[A-Z]{2}\d{2})$");
                //A01AA99,Z99BZ07,A,B,Z,Z08,Z99,Z99C,Z08CB,D96BZ,D95BC09,D95BC76
                Console.WriteLine("{0}:{1}", "A01AA99", regex.IsMatch("A01AA99"));
                Console.WriteLine("{0}:{1}", "Z99BZ07", regex.IsMatch("Z99BZ07"));
                Console.WriteLine("{0}:{1}", "A", regex.IsMatch("A"));
                Console.WriteLine("{0}:{1}", "B", regex.IsMatch("B"));
                Console.WriteLine("{0}:{1}", "Z", regex.IsMatch("Z"));
                Console.WriteLine("{0}:{1}", "Z08", regex.IsMatch("Z08"));
                Console.WriteLine("{0}:{1}", "Z99", regex.IsMatch("Z99"));
                Console.WriteLine("{0}:{1}", "Z99C", regex.IsMatch("Z99C"));
                Console.WriteLine("{0}:{1}", "Z08CB", regex.IsMatch("Z08CB"));
                Console.WriteLine("{0}:{1}", "D96BZ", regex.IsMatch("D96BZ"));
                Console.WriteLine("{0}:{1}", "D95BC09", regex.IsMatch("D95BC09"));
                Console.WriteLine("{0}:{1}", "D95BC76", regex.IsMatch("D95BC76"));
      

  2.   

    ^[a-zA-Z](\d{2})?([a-zA-Z])?([a-zA-Z])?(\d{2})?$
      

  3.   

    不对,估计没有理解我的意思!
    输入的字符应该是:1位或3位或4位或5位或7位有这5种情况。
    第1种情况:当用户输入1位时必须输入大写的A-Z之间的字母。第2种情况:当用户输入3位字符时:第一位字母必须输入大写的A-Z之间的字母,第2位是0-9的数字,第3位是1-9的数字。第3种情况:当用户输入4位字符时:第一位字母必须输入大写的A-Z之间的字母,第2位是0-9的数字,第3位是1-9的数字,第4位是大写的A-Z之间的字母。第4种情况:当用户输入5位字符时:第一位字母必须输入大写的A-Z之间的字母,第2位是0-9的数字,第3位是1-9的数字,第4位是大写的A-Z之间的字母,第5位是大写的A-Z之间的字母。第5种情况:当用户输入5位字符时:第一位字母必须输入大写的A-Z之间的字母,第2位是0-9的数字,第3位是1-9的数字,第4位是大写的A-Z之间的字母,第5位是大写的A-Z之间的字母,第6位是0-9的数字,第7位是1-9的数字。用户可以输入上面的5种情况的任意一种。(输入的字符串位数可以是1位,也可以是3位,也可以是4位,也可以是5位,也可以是7位)这是我自己写的正则表达式:
    [A-Z]|[A-Z][0-9][1-9]|[A-Z][0-9][1-9][A-Z]|[A-Z][0-9][1-9][A-Z][A-Z]|[A-Z][0-9][1-9][A-Z][A-Z][0-9][1-9]
    但是我实验过了,不对。请高手指教!谢谢
      

  4.   


    ^[A-Z]([0-9][1-9]([A-Z]([A-Z]([0-9][1-9])?)?)?)?$
      

  5.   

    ^[A-Z]([0-9][1-9]([A-Z]([A-Z]([0-9][1-9])?)?)?)?$