Я хочу запросить строку между https: // или http: // и первыми символами-разделителями, которые идут после него. Например, если поле содержит:
https://google.com/en/
https://www.yahoo.com?en/
Я хочу получить:
google.com
www.yahoo.com
Мой начальный запрос, который будет захватывать /
, содержит только два substring_index следующим образом:
SELECT substring_index(substring_index(mycol,'/',3),'://',-1)
FROM mytable;
Теперь я обнаружил, что URL-адреса могут содержать несколько разделителей. Я хочу, чтобы в моем заявлении были отражены несколько вариантов делимметров (каждый из которых является отдельным символом):
:/?#[]@!$&'()*+,;=
Как это сделать в моем заявлении? Я попытался это решение , но в результате не удалось выполнить команду из-за синтаксической ошибки, хотя я уверен, что следовал решению. Может ли кто-нибудь помочь мне правильно сконструировать запрос, чтобы захватить все перечисленные выше символы разделителя?
Я использую MySQL workbecnh 6.3 в Ubuntu 18.04.
РЕДАКТИРОВАТЬ:
Некоторые исправления, внесенные в первый пример URL.