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

在select语句中使用mysql regexp,而不是在where子句中使用

  •  2
  • RC1140  · 技术社区  · 14 年前

    所以我要做的是使用regex只从列中选择数据的某些部分

    例子:

    从网站列表中选择url regexp“http://”—(网站列表是url的列表)

    如果我对表运行它将返回1 foreach行,其中找到了“htt://”,我希望返回与regexp匹配的字符串

    2 回复  |  直到 14 年前
        1
  •  2
  •   D.Shawley    14 年前

    这个 REGEXP 运算符执行匹配并返回 0 1 基于字符串是否与表达式匹配。它不提供提取匹配部分的方法。我认为没有任何方法可以提取匹配的部分。

        2
  •  2
  •   Jason McCreary    14 年前

    如果字符串函数和示例一样简单,则可以使用它-只需删除http://。/

    SELECT REPLACE(URL, 'http://', '') AS url FROM websitelist;
    

    可能更快,因为Regex引擎有开销。