我正在尝试在我的MYSQL查询中为主搜索创建一个简单的正则表达式。
我想要做的就是返回一个匹配项,即使该值中包含空格且我的搜索值没有。
E.G。
如果用户输入了JoeBlogs'并尝试将此与客户全名相匹配我希望即使joe和博客之间有空格也要返回客户端。乔博客
我不想在我的where子句中使用REPLACE,因为我知道这可能非常昂贵。
目前只是寻找类似的精确匹配。
WHERE client_name RLIKE '^joeblogs'
我认为使用正则表达式会很简单,但还没有学习正则表达式
谢谢
答案 0 :(得分:0)
REGEXP 'Joe ?Briggs'
问号表示前面的字符是可选的。
如果你需要它"锚定":
REGEXP '^Joe ?Briggs$'
现在名称之前或之后都不存在任何内容。也就是说," Joe Briggsworth"不会匹配。
在字边界处找到字符串和中间的名称:
REGEXP '[[:<:]]Joe ?Briggs[[:>:]]'