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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.