select a from t where a REGEXP '[a-z]6[0-9]2'这样写不对。请问应该怎么写呢

解决方案 »

  1.   

    答案并不正确
    结果是
    abcdefg88
    abcdef888
    都会出来也就是说结果是至少6位字母+至少2位数字。
    我要的是6位字母+2位数字。不要【至少】
      

  2.   

    mysql> SELECT 'abcdefg88' REGEXP '[a-z]{6}[0-9]{3}';
    +---------------------------------------+
    | 'abcdefg88' REGEXP '[a-z]{6}[0-9]{3}' |
    +---------------------------------------+
    |                                     0 |
    +---------------------------------------+
    1 row in set (0.00 sec)
      

  3.   

    sorry,我错了。
    mysql> SELECT
        ->  'abcdefg88' REGEXP '^[a-z]{6}[0-9]{2}$' as NG,
        ->  'abcdef88' REGEXP '^[a-z]{6}[0-9]{2}$' as OK
        -> ;
    +----+----+
    | NG | OK |
    +----+----+
    |  0 |  1 |
    +----+----+
    1 row in set (0.00 sec)
      

  4.   

    mysql> SELECT 'abcdefg88' REGEXP '([a-z]{6})*([0-9]{3})*';
    +---------------------------------------------+
    | 'abcdefg88' REGEXP '([a-z]{6})*([0-9]{3})*' |
    +---------------------------------------------+
    |                                           1 |
    +---------------------------------------------+
    1 row in set (0.00 sec)