RLIKE REGEX — вернуть заданное значение без совпадения пробелов

Я пытаюсь сделать простое выражение регулярного выражения для основного поиска в моем запросе MYSQL.

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

НАПРИМЕР.

Если пользователь вводит «JoeBlogs», и я пытаюсь сопоставить его с полным именем клиента, я хочу, чтобы клиент был возвращен, даже если между joe и блогами есть пробел. Джо Блоги

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

В настоящее время просто ищу точные совпадения, как это.

WHERE client_name RLIKE '^joeblogs'

Я предполагаю, что это будет довольно просто с регулярными выражениями, но еще не дошел до изучения регулярных выражений

Спасибо

-3

Решение

REGEXP 'Joe ?Briggs'

Знак вопроса говорит о том, что символ перед ним необязателен.

Если вам это нужно «на якоре»:

REGEXP '^Joe ?Briggs$'

Теперь ничто не может существовать до или после имени. То есть «Джо Бриггсворт» не подойдет.

Для нахождения имени в середине строки а также на границах слова:

REGEXP '[[:<:]]Joe ?Briggs[[:>:]]'
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]