MySQL & Regex (проверка правильности ввода заглавных букв) - PullRequest
0 голосов
/ 24 августа 2010

Я пытаюсь проверить, есть ли в имени недопустимые символы, пока мне удалось получить все, что мне нужно, кроме проверки на заглавные буквы, я пытался использовать

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

, но, к сожалению, этотакже помечает правильно отформатированные имена, как в (Джек), можно ли регулярное выражение игнорировать первый символ имени, и если да, то как?

Заранее спасибо, --a

1 Ответ

1 голос
/ 24 августа 2010

Сделайте один шаг назад и переосмыслите;)

Дайте мне все экземпляры, которые не начинаются с заглавной буквы, а остальные строчные:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...