我们如何使用MySQL和正则表达式查找域名

我在数据库中有一些域列表,例如

http://www.masn.com/index.html

http://www.123musiq.com/index.html 等等

我需要的是

http://www.masn.com

http://www.123musiq.com

我怎样才能做到正则表达式???

回答:

在中MySQL,正则表达式可以匹配,但不能返回子字符串。

您可以使用SUBSTRING_INDEX

SELECT  SUBSTRING_INDEX('www.example.com', '/', 1)

,但是它不是协议前缀安全的。

如果您混合使用前缀和无前缀URL,请使用以下命令:

SELECT  url RLIKE '^http://',

CASE

WHEN url RLIKE '^http://' THEN

SUBSTRING_INDEX(SUBSTRING_INDEX(url, '/', 3), '/', -1)

ELSE

SUBSTRING_INDEX(url, '/', 1)

END

FROM (

SELECT 'www.example.com/test/test' AS url

UNION ALL

SELECT 'http://www.example.com/test'

) q

以上是 我们如何使用MySQL和正则表达式查找域名 的全部内容, 来源链接: utcz.com/qa/420418.html

回到顶部