首页 > 解决方案 > 如何使用 sql 从 Mysql 中基于文本的列中提取 http 链接

问题描述

注意:我将 SqlLite 更改为 MySQL。

我需要从 MySQL 数据库文本字段中提取 html 链接。

  1. 链接不在固定位置,可以在文本字段的任何位置。
  2. 我喜欢将链接作为输出的一部分放在单独的列中。

示例文本。我在听“一些好听的音乐”。您可以在此处收听:https ://example.com/?l=sdfsafyNjE 我正在使用应用程序收听https://example.com/?l=Njksdfa1

提前非常感谢。

标签: mysql

解决方案


您可以使用REGEXP_SUBSTR(column_name, 'https?:\/\/.*?(?=\s)') AS url

在文档中阅读有关使用正则表达式的更多信息:
https ://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-substr

您还可以搜索url regex以找到适合您需要的表达式。网址可能需要比此示例更高级的模式。


推荐阅读