MySQL&正则表达式(检查正确的名称大写)

时间:2010-08-24 19:09:29

标签: mysql regex

我正在尝试检查名称是否包含无效字符,到目前为止,除了检查大小写之外,我已经设法获得了所需的一切,我尝试过使用

SELECT BINARY('jiLl') REGEXP('[[:upper:]]+');

但不幸的是,它也标记格式正确的名称,如(Jack),是否可以让正则表达式忽略名称的第一个字符,如果是,如何?

提前谢谢你, --a

1 个答案:

答案 0 :(得分:1)

退后一步,重新思考;)

给我所有不以大写字母开头的实例,其余的都是小写的:

mysql> SELECT BINARY('JacK') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid;
+------------+
| is_invalid |
+------------+
|          1 |
+------------+
1 row in set (0.00 sec)

mysql> SELECT BINARY('jiLl') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid;
+------------+
| is_invalid |
+------------+
|          1 |
+------------+
1 row in set (0.00 sec)

mysql> SELECT BINARY('Jack') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid;
+------------+
| is_invalid |
+------------+
|          0 |
+------------+
1 row in set (0.00 sec)