LINUX.ORG.RU
ФорумTalks

[import re] Доменное имя


0

0

Нужно из ссылки вычленить доменное имя второго уровня. Например, из http://dynamo.kiev.champion.com/index.html надо взять только champion.com. Мои шаловливые ручонки написали следующее:

http://[A-Za-z-_\.]+\.([A-Za-z-_]+\.[A-Za-z]+)/.*

Я в регулярках ноль, может надо как-то не так?

Тире заэкранируй бэкслэшем

r_asian ★☆☆
()

И вообще: ТОЛСТО. Шахтер - наше всё.

r_asian ★☆☆
()
Ответ на: комментарий от mamay_cozak

Окончательный вариант

http:\/\/([\w\d\-\.]+\.|\b)([\w\d\-]+\.[A-Za-z]+)\/.*

mamay_cozak
() автор топика
Ответ на: комментарий от mamay_cozak

Жуть какая.

1) Зачем 1-е круглые скобки? 2) Зачем \b? 3) Куда тире в 1-х скобках подевал?

И это ... может всё же в девелопмент?

r_asian ★☆☆
()

да, в девелопмент. мы сюда отдыхать от таких веществ приходим.

MoRoZ
()
Ответ на: комментарий от mamay_cozak

Ну работает, так работает. Чтобы заронить зерно сомнения, задам свой любимый вопрос:

Будет ли данный регексп матчить строку "зяhttp://kiev.dinamo.champions.com/зя"?

И эта ... мы про футбол флеймить уже будем или где?

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

Это уже детали. А про футбол зачем флеймить? Скоро и так все увидят, что Шахтер сосет.

mamay_cozak
() автор топика
Ответ на: комментарий от cobold

Не в моей реальности. Такие имена идут лесом.

mamay_cozak
() автор топика
Ответ на: комментарий от Joe_Bishop

И да, парсить url-ы регулярками - глупая затея. регексп получается длинной несколько килобайт.

Joe_Bishop
()
Ответ на: комментарий от cobold

>доменные имена могут содержать символы национальных алфавитов

С чего бы это? Никода нац. символы не передаются, передается пуникод.

f3ex ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.