MySQL 和 Regex(检查正确名称大写)

标签 mysql regex

我正在尝试检查名称是否包含无效字符,到目前为止,除了检查大小写之外,我已经成功获得了所需的所有内容,我尝试使用

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

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

预先感谢您, --a

最佳答案

退一步重新思考;)

给我所有不以大写字母开头且其余均为小写的实例:

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)

关于MySQL 和 Regex(检查正确名称大写),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3560102/

相关文章:

java - 计算点数[.] , !和 ?在文字中

sql - 删除 SQL Server 表数据中的空格

html - 从 Sql Server 中的 Html 列替换 img src

php - SQL 查询 : Incrementing by two instead of 1

php - 比较大型 MySQL 数据集与 PHP

mysql - 我应该有一个数据库还是多个?

php - Laravel 时间 24 小时格式正则表达式错误(无结束分隔符)

mysql - 高 Mysql 负载 - CPU 360%

mysql - 从子查询中获取计数

javascript - 匹配包含特定字符串的任何单词