RLIKE REGEX - 返回给定值而不匹配空格

时间:2018-03-15 11:06:29

标签: php mysql regex search rlike

我正在尝试在我的MYSQL查询中为主搜索创建一个简单的正则表达式。

我想要做的就是返回一个匹配项,即使该值中包含空格且我的搜索值没有。

E.G。

如果用户输入了JoeBlogs'并尝试将此与客户全名相匹配我希望即使joe和博客之间有空格也要返回客户端。乔博客

我不想在我的where子句中使用REPLACE,因为我知道这可能非常昂贵。

目前只是寻找类似的精确匹配。

WHERE client_name RLIKE '^joeblogs'

我认为使用正则表达式会很简单,但还没有学习正则表达式

谢谢

1 个答案:

答案 0 :(得分:0)

REGEXP 'Joe ?Briggs'

问号表示前面的字符是可选的。

如果你需要它"锚定":

REGEXP '^Joe ?Briggs$'

现在名称之前或之后都不存在任何内容。也就是说," Joe Briggsworth"不会匹配。

在字边界处找到字符串中间的名称:

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