代码之家  ›  专栏  ›  技术社区  ›  yevg

通过regex匹配进行SQL查询

  •  0
  • yevg  · 技术社区  · 6 年前

    表名:

    {
        id: 2
        path: \/user\/(.*)\/
        value: "I am the user path"
    }
    

    然后假设我有以下表示URL路径的字符串:

    /user/gandalfthewhite
    

    SELECT * FROM url_stuff WHERE path LIKE '/user/gandalfthewhite'
    

    显然这是行不通的,但是也许有其他方法可以使用SQL /user/gandalfthewhite 比赛 \/user\/(.*)\/ 与regex一样,返回上述记录。

    一种解决方案显然是从数据库中获取所有记录,并在事后通过regex进行搜索,但这对于大量记录来说是不可伸缩的。理想情况下,我可以通过查询直接获取所有匹配的记录。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Gordon Linoff    6 年前

    如果我理解正确,您可以使用regexp:

    SELECT *
    FROM url_stuff
    WHERE '/user/gandalfthewhite' REGEXP url