MySQL/REGEXP

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

REGEXP (regular expression, регулярное выражение) — внутренний SQL оператор относящийся сугубо к СУБД MySQL, и не входящий в общую спецификацию языка SQL. REGEXP подобно оператору LIKE позволяет производить поиск строк, только не по маске, а по полноценным регулярному выражению.

Примечание: В больших таблицах СУБД MySQL запросы с данным оператором для поиска по тексту будут работать крайне медленно т.к. этот оператор поиска не работает с обычными индексами и просто перебирает все строки. Что бы исправить такое поведение и ускорить работу СУБД, для полей по которым ведётся поиск надо создавать полнотекстовый индекс.

Синтаксис

SELECT column FROM table WHERE column2 REGEXP 'regular expression';

Примеры

SELECT `id` FROM `users` WHERE `login` REGEXP '[a-z]+';

См. также

Ссылки

http://dev.mysql.com/doc/refman/5.5/en/regexp.html