@fredded

Как из URL вырезать домен без www. с помощью RegExp на js?

У меня есть список URL адресов, из которых нужно получить домен без http, без www., чистый домен, пытался сам составить регулярное вырожение /(?<=(\/{2})).+?(?=\/)/ но не смог отсеить www.

Пример:

https://medium.com/nuances-of-programming/
https://www.rohrreinigung-schneemann.de/berlin

Результат:

medium.com
rohrreinigung-schneemann.de

Кто нибудь знает как составлять такое регулярное выражение?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 2
miraage
@miraage
// EDIT убрал флаг /g, ибо не нужен автору задачи

const re = /^(?:https?:\/\/)?(?:www\.)?([^/]+)/;

const strings = [
  'www.foo.bar',
  'bar.baz',
  'http://example.com',
  'https://www.domain.com',
];

for (const str of strings) {
  console.log(str.match(re)[1]);
}
Ответ написан
@zkrvndm
Боты, парсеры, расширения
Это делается так:
new URL('https://www.rohrreinigung-schneemann.de/berlin').hostname.replace(/^www\./, '');

Класс URL парcит адрес, из адреса берем хост и удаляем www. в начале, если оно там есть.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы