我在数据库中有一些域列表,例如
http://www.masn.com/index.html http://www.123musiq.com/index.html 等等
http://www.masn.com/index.html
http://www.123musiq.com/index.html
我需要的是
http://www.masn.com http://www.123musiq.com
http://www.masn.com
http://www.123musiq.com
我怎样才能做到正则表达式???
在中MySQL,正则表达式可以匹配,但不能返回子字符串。
MySQL
您可以使用SUBSTRING_INDEX:
SUBSTRING_INDEX
SELECT SUBSTRING_INDEX('www.example.com', '/', 1)
,但是它不是协议前缀安全的。
如果您混合使用前缀和无前缀URL,请使用以下命令:
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