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

0

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

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

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

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

Теги:

1 ответ

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)
  • 0
    О, это здорово! Я полностью упустил возможность сделать это наоборот. Отличный материал. Большое спасибо! --a
  • 1
    извиняюсь, пока не могу оценить ответ, так как мне нужно 15 репутации, чтобы это сделать, но это больше всего def +1, благодарю совет, еще раз большое спасибо
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню