Помогите с регуляркой для MySQL

В БД MySQL, в поле типа varchar, в строке хранится либо 1 IP адрес, либо несколько через запятую.

123.22.33.12,21.24.54.215,234.23.15.35

Необходимо осуществлять поиск по этой строке заданного IP-адреса. Через LIKE %IP_ADRESS% не получится, т.к. например запрос IP "21.24.54.2" будет совпадать со строкой выше. Но ведь там другой IP 21.24.54.215. Остаётся использовать REGEXP, благо строк в таблице меньше сотни, тормозить не будет. Помогите с регуляркой, думал использовать что-то вроде \D123.22.33.12\D , но возникают проблемы с началом и концом строки. В регулярках не силён, поэтому прошу помощи.


Ответы (1 шт):

Автор решения: Алексей

Предлагаю такой вариант:

WHERE `ip` REGEXP '(^|\D)".$server_ip."(,|$)'

Переменную $server_ip необходимо дополнительно обработать методом real_escape_string - real-escape-string

→ Ссылка