Извлечение URL-адреса формы доменного имени с помощью REGEXP_REPLACE в Mysql версии 8

0

Я использую последнюю версию версии Server version: 8.0.11 MySQL Community Server - GPL. Ссылка для скачивания

Структура таблицы - web_url < id, url >

Пример данных в столбце URL.

www.google.com

www.yahoo.com

как извлечь доменное имя только как google и yahoo используя функцию REGEXP_REPLACE. поэтому это означает замену www. и .com заменить на пробел или на ". если у вас есть другое решение, тогда вы можете.

Я либо пропускаю некоторые. Так что помогите.

Я написал регулярное выражение, но не получаю, как правильно его использовать в запросе. Пожалуйста, дайте запрос на основе запроса.

мой запрос

select REGEXP_REPLACE(url,'^(www.)[a-zA-z0-9]*(.[a-zA-Z]{3})(\/[a-zA-Z09-]*)*','') from web_url;

Пока я сделал этот запрос.

Пока что я сделал это, возможно, кто-то получит помощь, сделанный этим запросом, чтобы проверить, происходит ли сравнение или нет. любезно игнорировать последние две строки, поскольку они предназначены только для проверки функции regexp_like

select regexp_like(url,'^(www.)(.*)(.com)$') from web_url;

Изображение 174551

  • 0
    Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат .
Теги:

1 ответ

-1

Если url вводит в заблуждение и на самом деле является полным доменным именем, что, по мнению этих комментариев,

reverse(regexp_replace(reverse(regexp_replace(url, '\\.[^\\.]*\\.?$', '')), '\\..*', ''))

должен дать вам второй ярлык справа (или третий, если в конце есть необязательная пустая метка), что вам кажется.

reverse() необходимо, так как мы не знаем, сколько точек находится в строке. Из-за reverse() после того, как мы удалили последние (или последние две) метки, мы можем просто удалить из первой точки.

Если бы были группы захвата с regexp_replace() это было бы проще, но я ничего не нашел в документации. Прошу прокомментировать и указать на это, если я просто пропустил это.

  • 0
    Спасибо за ваш ответ, но он почти дает решение, может быть, я что-то не так делаю, тогда дайте мне знать, но это я получил. выходная ссылка
  • 0
    А? Это странно, похоже, что строки соединяются? Пожалуйста, запросите оригинальную строку также.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню