Em
MySQL , as expressões regulares podem corresponder, mas não retornar substrings. Você pode usar
SUBSTRING_INDEX :SELECT SUBSTRING_INDEX('www.example.com', '/', 1)
, no entanto, não é seguro com prefixo de protocolo.
Se você estiver usando uma combinação de
URL prefixado e não prefixado 's, use isto:SELECT url RLIKE '^https://',
CASE
WHEN url RLIKE '^https://' 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 'https://www.example.com/test'
) q