本帖最后由 wangjun8868 于 2009-09-03 12:38:28 编辑

解决方案 »

  1.   

    第一个好办,但后面的描述与例子不一致,重新整理一下哈
    //1.尾号66或88或99 (第8位、9位为66 、88、99) 
    ^[0-9]{7}(?:66|88|99)$2.尾号为AABB、ABAB、ABBA (如000001122,000002233,000003344,000005566, 00009911等等) 
    如果只是AABB,那么
    ^[0-9]{5}([0-9])\1([0-9])\2$
    但ABAB和ABBA是否也要支持,即000001212、000001221
     
    后面几个需求也存在类似的问题,比如ABCD和ABCDE位数不一样,与举的例中000112233也对应不起来,调整一下描述和例子哈
    3.尾号为ABCDABCDEABCDEF (如000112233  000223344  078445566等等)后6位有规律  前3位随便    A任意0-9的数字B也是 
      

  2.   

    3.尾号为ABCD或ABCDE或ABCDEF (如000112233  000223344  078445566等等)后6位有规律  前3位随便    A任意0-9的数字B也是 指的是 ABCD 1234 2345    5678等等
    ABCDE 12345   56789 等等
    ABCDEF 123456  234567 等等
      

  3.   

    但ABAB和ABBA是否也要支持,即000001212、000001221 ?A为0-9任意 自然数  B为 A+1  C为B+1 D为C+1  以此类推 !
    后四位,比如说 
    ABAB  就是 1212  2323  8989  1010
    ABBA  是 3003  3333  2662  9009 7557
      

  4.   


    /*
    客客写的2的 可匹配 000002222 后面四位相同的。
    我写个 AB不同的
    试试看,看能用否?
    */
    Regex regex2 = new Regex(@"^\d{5}(\d)(?=\d{3})(?:(?:\1([^\1])\2)|(?:([^\1])(?:\3\1|\1\3)))$");
    /*
    其他的条件需要,楼主再推敲一下。
    */
      

  5.   

    先把ABAB、ABBA 
    和ABCABC 这样的解决了吧  先不加1了
      

  6.   

    5.尾号为AAA或AAAA或AAAAA或AAAAAA  (如000000111  000001111  000011111) 前4位随便  A任意0-9的数字B也是 随机的9位数,前面4位随便,后面最多才有5位,怎么会有AAAAAA?是前面3位随便?
      

  7.   


    //允许ABAB和ABBA的,不允许AABB和AAAA
    ^[0-9]{5}([0-9])(?!\1)([0-9])(?:\1|\2){2}$
    //允许ABAB、ABBA、AABB和AAAA
    ^[0-9]{5}([0-9])(?:\1([0-9])\2|(?!\1)([0-9])(?:\1|\3){2})$