Я пытаюсь сделать простое выражение регулярного выражения для основного поиска в моем запросе MYSQL.
Все, что я хочу сделать, это вернуть совпадение, даже если в значении есть пробелы, а в моем поисковом значении нет.
НАПРИМЕР.
Если пользователь вводит «JoeBlogs», и я пытаюсь сопоставить его с полным именем клиента, я хочу, чтобы клиент был возвращен, даже если между joe и блогами есть пробел. Джо Блоги
Я не хотел использовать REPLACE в моем предложении where, поскольку я знаю, что это может быть довольно дорого.
В настоящее время просто ищу точные совпадения, как это.
WHERE client_name RLIKE '^joeblogs'
Я предполагаю, что это будет довольно просто с регулярными выражениями, но еще не дошел до изучения регулярных выражений
Спасибо
REGEXP 'Joe ?Briggs'
Знак вопроса говорит о том, что символ перед ним необязателен.
Если вам это нужно «на якоре»:
REGEXP '^Joe ?Briggs$'
Теперь ничто не может существовать до или после имени. То есть «Джо Бриггсворт» не подойдет.
Для нахождения имени в середине строки а также на границах слова:
REGEXP '[[:<:]]Joe ?Briggs[[:>:]]'
Других решений пока нет …