drno-reg
@drno-reg
см не кратко

Как должно выглядеть правильно регулярное выражение для поиска имени хоста?

groovy
def URL = "sdfgsdfg https://inclouds.bizmail.ru hgfghfhgfhgf gfhgf"

print(URL.findAll(/\/\/(\w+.\w+.\w+)/))


Возвращает:
[//inclouds.bizmail.ru][[://inclouds.bizmail, inclouds.bizmail]]


Но мне нужно inclouds.bizmail.ru.

Как это сделать правильно?
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
dollar
@dollar
Делай добро и бросай его в воду.
У вас как минимум точка не экранирована, а значит это "любой символ". Но это так, к слову.

А ответ такой:
def URL = "sdfgsdfg https://inclouds.bizmail.ru hgfghfhgfhgf gfhgf"

print(URL.findAll(/(?<=:\/\/)[\w\d.]+/))

Хотя и он далёк от совершенства. Более точные условия задачи помогут его улучшить.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
fzfx
@fzfx
18,5 дм
print(URL.findAll(~(?=https://)[^\s]+~))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Сбер Москва
от 150 000 до 320 000 ₽
Сбер Вологда
от 65 000 ₽
Сбер Москва
от 200 000 до 260 000 ₽
03 дек. 2021, в 10:17
3000 руб./за проект
03 дек. 2021, в 08:36
500 руб./за проект