douya6606 2018-03-15 11:06
浏览 70

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

I am trying to make a simple regex expression for a master search in my MYSQL query.

All I want to do is return a match even if the value has spaces in it and my search value does not.

E.G.

If the user enters 'JoeBlogs' and I try to match this against the clients full name I wish the client to be returned even if there is a space between joe and blogs. Joe Blogs

Did not want to use REPLACE in my where clause as I know this can be quite expensive.

Currently just looking for exact matches like so.

WHERE client_name RLIKE '^joeblogs'

I assume this would be quite simple with regular expressions but have not yet got around to learning regex's

Thank you

  • 写回答

1条回答 默认 最新

  • doubishi8303 2018-03-21 02:06
    关注
    REGEXP 'Joe ?Briggs'
    

    The question mark says that the char before it is optional.

    If you need it "anchored":

    REGEXP '^Joe ?Briggs$'
    

    Now nothing can exist before or after the name. That is, "Joe Briggsworth" will not match.

    For finding the name in the middle of a string and at word boundaries:

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

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型