Я пытаюсь сделать MySQL-regex SQL, который найдет любые строки с максимальной длиной - я могу сделать это в javascrtip, php и т. д. - но по какой-то причине я могу заставить его работать в mysql
Примеры строк:
Итак, скажем, я хочу, чтобы мое регулярное выражение попадало в ЛЮБЫЕ строки длиной 4 или меньше, поэтому в приведенном выше примере мое регулярное выражение должно поражать 1 и 2.
Приведенный ниже код отлично работает при попытке найти любые строки выше определенной длины, но я не могу заставить его работать со строками ниже определенной длины.
([a-zA-Z])[0-9a-zA-Z]{20,}
я явно пытался сделать
([a-zA-Z])[0-9a-zA-Z]{0,6}
но не работает почему-то
Я думаю, вы хотите:
^[a-zA-Z][0-9a-zA-Z]{0,3}$
Это соответствует строке, состоящей из буквенного символа, за которым следуют от 0 до 3 буквенно-цифровых символов. Одна важная вещь — совпадение по всей строке: это то, что делают якоря ^
(начало строки) и $
(конец строки).
Почему бы просто не использовать функцию
length()
, если это то, что вам нужно?