SELECT * FROM prices where tkey REGEXP ‘^toy’;
Вернет все записи где текст в колонке tkey начинается с букв “toy”.
SELECT * FROM prices where tkey REGEXP ‘[[:digit:]]’;
Вернет все записи где в колонке tkey только цифры.
^ — означает начало слова
$ — конец
. — Соответствие любому символу (включая перевод строки).
a* — Соответствие любой последовательности из нуля или более символов «a».
a+ — Соответствие любой последовательности из одного или более символов «a».
a? — Соответствие как нулю, так и одному символу «a».
de|abc — Соответствие как последовательности de, так и последовательности abc.
(abc)* — Соответствие нулю или более вхождениям последовательности abc.
[а-ЯЁё] — в слове могут быть буквы только Русского алфавита.
[а-ЯЁёa-Z] — русскаго и англикого
Пример использования:
SELECT * FROM users WHERE email REGEXP «^[a-z]+@+(mail)+\.+[a-z]{2,3}$»
Вернет все записи из таблицы users где email пользователя находится на сервере mail (например pupkin@mail.ru)
Разберем по порядку:
[a-z]+ — говорит что начинаться строка должна только с букв английского алфавита, далее
@+ — говорит о том что должен быть знак собаки, далее
(mail)+ — говорит о том, что далее после сабаки должно идти слово mail, далее
\.+ — говорит о том что дальше должна идти точка («\» — знак экранирования, т.е. необходимо ставить перед «.» и «\» — если хотите включить их в диапазон значений), далее
[a-z]{2,3} — говорит о том что после точки может быть от двух до трех символов из букв английского алфавита
3 комментария